From d865e3945af7c032aeeeb9d2b7c81cc1a267976f Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Mon, 18 Aug 2025 18:52:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A0=91=E8=A1=A8?= =?UTF-8?q?=E6=A0=BC=E7=AE=80=E5=8D=95=E6=A8=A1=E5=BC=8F=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 ++++ src/control/grid/grid/grid-control.util.ts | 20 ++++++-------------- src/control/tree-grid/tree-grid.tsx | 16 ++++++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b36738491..0225e2ac7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ ## [Unreleased] +## Fixed + +- 修复树表格简单模式异常 + ## [0.7.41-alpha.19] - 2025-08-18 ### Added diff --git a/src/control/grid/grid/grid-control.util.ts b/src/control/grid/grid/grid-control.util.ts index 234ef18f0..14416ad3e 100644 --- a/src/control/grid/grid/grid-control.util.ts +++ b/src/control/grid/grid/grid-control.util.ts @@ -691,23 +691,17 @@ export function useAppGridBase( headerDragend: (newWidth: number, oldWidth: number, column: IData) => void; } { const initSimpleData = (): void => { - if (!props.data) { - return; - } - c.state.items = props.data; + if (!props.data) return; + const items = (props.data as IData[]).map(item => new ControlVO(item)); + c.state.items = items; if (c.runMode === 'DESIGN') { - c.state.simpleData = props.data; + c.state.simpleData = items; c.state.total = props.data.length; c.state.curPage = 1; c.state.items = chunk(c.state.simpleData, c.state.size)[c.state.curPage - 1] || []; } - c.state.rows = c.state.items.map(item => { - const row = new GridRowState(new ControlVO(item), c); - return row; - }); - c.calcAggResult(c.state.items); - c.calcTotalData(); + c.afterLoad({ isInitialLoad: true }, c.state.items); }; const defaultSort = computed(() => { @@ -734,9 +728,7 @@ export function useAppGridBase( watch( () => props.data, () => { - if (props.isSimple) { - initSimpleData(); - } + if (props.isSimple) initSimpleData(); }, { deep: true, diff --git a/src/control/tree-grid/tree-grid.tsx b/src/control/tree-grid/tree-grid.tsx index 99c9493c5..67f5474bb 100644 --- a/src/control/tree-grid/tree-grid.tsx +++ b/src/control/tree-grid/tree-grid.tsx @@ -1,14 +1,14 @@ import { - hasEmptyPanelRenderer, + useNamespace, IBizCustomRender, useControlController, - useNamespace, + hasEmptyPanelRenderer, } from '@ibiz-template/vue3-util'; import { - defineComponent, - PropType, VNode, + PropType, renderSlot, + defineComponent, VNodeArrayChildren, } from 'vue'; import { IDEGridColumn, IDETreeGrid } from '@ibiz/model-core'; @@ -17,9 +17,9 @@ import { useRowEditPopover } from '../grid/row-edit-popover/use-row-edit-popover import { IGridProps, useAppGridBase, - useAppGridPagination, - useGridHeaderStyle, useITableEvent, + useGridHeaderStyle, + useAppGridPagination, } from '../grid/grid'; import { renderChildColumn } from '../grid/grid/grid'; @@ -267,6 +267,7 @@ export const TreeGridControl = defineComponent({ tree-props={{ children: 'children', hasChildren: 'hasChildren' }} load={this.loadData} lazy + {...this.$attrs} > {{ empty: this.renderNoData, @@ -300,6 +301,9 @@ export const TreeGridControl = defineComponent({ onChange={this.onPageChange} onPageSizeChange={this.onPageSizeChange} onPageRefresh={this.onPageRefresh} + popperClass={`${ + this.c.model.sysCss?.cssName || 'default' + }--popper`} > )} {this.c.model.enableCustomized && !hideHeader && ( -- Gitee