From 8bc64abae4a4d68ee9706fe56349695ca20f03d4 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Tue, 14 Oct 2025 20:37:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A0=91=E5=A4=9A?= =?UTF-8?q?=E9=80=89=E6=8A=9B=E5=87=BA=E5=80=BC=E5=BC=82=E5=B8=B8=EF=BC=8C?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=95=8C=E9=9D=A2=E8=A1=8C=E4=B8=BA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AF=A5=E6=95=B0=E6=8D=AE=E4=BC=A0=E8=BE=93=E6=97=B6?= =?UTF-8?q?=E6=97=A0=E6=B3=95JSON.stringify=E5=AF=BC=E8=87=B4=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= 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 +--- src/view-engine/mob-pickup-tree-view.engine.ts | 10 +++++++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0352b0e5542..2a72c72b313 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,6 +32,7 @@ - 修复多数据视图部件的项样式呈现异常 - 修复多选视图引擎中选中树节点数据后报错,树节点数据未拷贝导致更改了树节点数据 - 修复vs树回显异常,包括vs树checkedKeys变量响应丢失,树节点加载后未设置选中数据 +- 修复树多选抛出值异常,后台界面行为使用该数据传输时无法JSON.stringify导致报错 ## [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 088ba220aa3..51b3b63d75a 100644 --- a/src/view-engine/mob-mpickup-view-engine.ts +++ b/src/view-engine/mob-mpickup-view-engine.ts @@ -9,7 +9,6 @@ import { } from '@ibiz-template/runtime'; // todo 缺失 IAppDEMobMPickupView import { IAppDEMobPickupView } from '@ibiz/model-core'; -import { clone } from 'ramda'; import { MobPickupViewEngine } from './mob-pickup-view.engine'; /** @@ -98,8 +97,7 @@ export class MobMPickupViewEngine extends MobPickupViewEngine { async onMounted(): Promise { await super.onMounted(); this.pickupViewPanel.evt.on('onSelectionChange', event => { - // 需要clone一下数据,防止数据被修改 - this.pickupViewPanelSelectionChange(clone(event.data)); + this.pickupViewPanelSelectionChange(event.data); }); // 列表激活取消选中 diff --git a/src/view-engine/mob-pickup-tree-view.engine.ts b/src/view-engine/mob-pickup-tree-view.engine.ts index df6a2ea8430..d4c55421732 100644 --- a/src/view-engine/mob-pickup-tree-view.engine.ts +++ b/src/view-engine/mob-pickup-tree-view.engine.ts @@ -8,7 +8,7 @@ import { IAppDEMobTreeView } from '@ibiz/model-core'; import { MobTreeViewEngine } from './mob-tree-view.engine'; export class MobPickupTreeViewEngine extends MobTreeViewEngine { - protected declare view: ViewController< + declare protected view: ViewController< IAppDEMobTreeView, IPickupTreeViewState, IPickupTreeViewEvent @@ -40,10 +40,14 @@ export class MobPickupTreeViewEngine extends MobTreeViewEngine { async onMounted(): Promise { const { model } = this.view; this.xdataControl.evt.on('onSelectionChange', async event => { - this.view.evt.emit('onSelectionChange', { ...event }); + // 使用树节点实体数据,防止后台界面行为传参时JSON.stringify失败 + const tempData = event.data.map(x => x._deData); + this.view.evt.emit('onSelectionChange', { ...event, data: tempData }); }); this.xdataControl.evt.on('onActive', async event => { - this.view.evt.emit('onDataActive', { ...event }); + // 使用树节点实体数据,防止后台界面行为传参时JSON.stringify失败 + const tempData = event.data.map(x => x._deData); + this.view.evt.emit('onDataActive', { ...event, data: tempData }); }); // 默认加载 if (model.loadDefault) { -- Gitee