From a61eeb590da135ff9471355a15926b290890a227 Mon Sep 17 00:00:00 2001 From: Jz0ojiang <0ojixueseno0@gmail.com> Date: Sat, 5 Sep 2026 02:39:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=89=E4=B8=AD=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E4=B9=9F=E8=A6=81=E5=8F=91=20revision=20=E4=BF=A1=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit syncSelection 只更新 activeObject,不 bump revision。于是在画布上点选 另一个对象时,所有从 revision 推导选中态的视图会停在旧值——图层面板的 高亮首当其冲。T6 在自己文件里绕过去了,根因在内核。 --- src/editor/useEditor.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/editor/useEditor.ts b/src/editor/useEditor.ts index 107573f..d8d75a3 100644 --- a/src/editor/useEditor.ts +++ b/src/editor/useEditor.ts @@ -73,6 +73,9 @@ function syncSelection() { const obj = c?.getActiveObject() ?? null; activeObject.value = obj; selectionKind.value = obj ? kindOf(obj) : "none"; + // 选中变化也要发变更信号。少了这句,「在画布上点选另一个对象」不会 bump revision, + // 所有从 revision 推导选中态的视图(图层面板的高亮首当其冲)都会停在旧值上。 + bumpRevision(); } /** 内容变了:让所有 watch revision 的视图重新推导。 */