From 417f7c8d43a829a67420c6fd403248a8e14c0c11 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Mon, 13 Oct 2025 19:48:28 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E5=BC=95=E6=93=8E=E4=B8=AD=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E6=A0=91=E8=8A=82=E7=82=B9=E6=95=B0=E6=8D=AE=E5=90=8E=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=8C=E6=A0=91=E8=8A=82=E7=82=B9=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=9C=AA=E6=8B=B7=E8=B4=9D=E5=AF=BC=E8=87=B4=E6=9B=B4=E6=94=B9?= =?UTF-8?q?=E4=BA=86=E6=A0=91=E8=8A=82=E7=82=B9=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/view-engine/mob-mpickup-view-engine.ts | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 585ba3804..51dcfa890 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - 修复HTML编辑器的编辑器参数modules配置后未生效 - 修复电子签名编辑器签名后未显示签名内容及调整只读逻辑 - 修复多数据视图部件的项样式呈现异常 +- 修复多选视图引擎中选中树节点数据后报错,树节点数据未拷贝导致更改了树节点数据 ## [0.7.41-alpha.18] - 2025-09-30 diff --git a/src/view-engine/mob-mpickup-view-engine.ts b/src/view-engine/mob-mpickup-view-engine.ts index 51b3b63d7..088ba220a 100644 --- a/src/view-engine/mob-mpickup-view-engine.ts +++ b/src/view-engine/mob-mpickup-view-engine.ts @@ -9,6 +9,7 @@ import { } from '@ibiz-template/runtime'; // todo 缺失 IAppDEMobMPickupView import { IAppDEMobPickupView } from '@ibiz/model-core'; +import { clone } from 'ramda'; import { MobPickupViewEngine } from './mob-pickup-view.engine'; /** @@ -97,7 +98,8 @@ export class MobMPickupViewEngine extends MobPickupViewEngine { async onMounted(): Promise { await super.onMounted(); this.pickupViewPanel.evt.on('onSelectionChange', event => { - this.pickupViewPanelSelectionChange(event.data); + // 需要clone一下数据,防止数据被修改 + this.pickupViewPanelSelectionChange(clone(event.data)); }); // 列表激活取消选中 -- Gitee From e992a14a7c7a8b9baf19616941e30ad8da3e13d5 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Mon, 13 Oct 2025 19:50:19 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dvs=E6=A0=91?= =?UTF-8?q?=E5=9B=9E=E6=98=BE=E5=BC=82=E5=B8=B8=EF=BC=8C=E5=8C=85=E6=8B=AC?= =?UTF-8?q?vs=E6=A0=91checkedKeys=E5=8F=98=E9=87=8F=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1=EF=BC=8C=E6=A0=91=E8=8A=82=E7=82=B9=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=90=8E=E6=9C=AA=E8=AE=BE=E7=BD=AE=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/control/tree/tree.tsx | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51dcfa890..0352b0e55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ - 修复电子签名编辑器签名后未显示签名内容及调整只读逻辑 - 修复多数据视图部件的项样式呈现异常 - 修复多选视图引擎中选中树节点数据后报错,树节点数据未拷贝导致更改了树节点数据 +- 修复vs树回显异常,包括vs树checkedKeys变量响应丢失,树节点加载后未设置选中数据 ## [0.7.41-alpha.18] - 2025-09-30 diff --git a/src/control/tree/tree.tsx b/src/control/tree/tree.tsx index 76b87f22c..bcf475e57 100644 --- a/src/control/tree/tree.tsx +++ b/src/control/tree/tree.tsx @@ -111,6 +111,7 @@ export const TreeControl = defineComponent({ : ''; return { _id: node._id, + id: node._id, _uuid: node._uuid, _leaf: node._leaf, _text: node._text, @@ -154,6 +155,16 @@ export const TreeControl = defineComponent({ return controller.state.items.find(item => item._uuid === key); } + /** + * @description 更新vs树,防止树节点数据加载完后选中数据丢失 + */ + const updateUI = () => { + if (treeRef.value) { + treeRef.value.tree.tree.store.checkedKeys = checkedKeys.value; + treeRef.value.tree.tree.store.setDefaultChecked(); + } + }; + /** * 触发节点加载数据 * @author zk @@ -189,6 +200,7 @@ export const TreeControl = defineComponent({ return; } callback(toElNodes(nodes)); + updateUI(); }; /** -- Gitee