diff --git a/CHANGELOG.md b/CHANGELOG.md index e153019a10d5f20cc260e190fdc58ba834696c7c..4fc2a14e5dce4f18a0b7ad0a29acc2f1acd46a8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ - markdown 编辑器,表单项更新后未回填 - 修复树表格视图工具栏点击新建报错 +- 修复表格部件排序属性未正确设置异常 ### PackageUpgrade diff --git a/src/control/grid/grid/grid.tsx b/src/control/grid/grid/grid.tsx index 02ac12220fd853c633e053ba999258fe5ba48125..d7646235ea8991b6d3ba1e5d197fd86474c2cf12 100644 --- a/src/control/grid/grid/grid.tsx +++ b/src/control/grid/grid/grid.tsx @@ -2,6 +2,8 @@ import { useControlController, useNamespace } from '@ibiz-template/vue3-util'; import { defineComponent, h, + onMounted, + onUnmounted, PropType, resolveComponent, VNode, @@ -160,6 +162,32 @@ export const GridControl = defineComponent({ const { renderPopover } = useRowEditPopover(tableRef, c); + const setSortFiled = () => { + if (!tableRef.value) { + return; + } + const { prop, order } = defaultSort.value; + const fieldColumn = Object.values(c.fieldColumns).find( + item => item.model.appDEFieldId === prop, + ); + if (fieldColumn) { + tableRef.value.store.commit('sort', { + prop: fieldColumn.model.codeName, + order, + init: true, + }); + c.evt.off('onLoadSuccess', setSortFiled); + } + }; + + onMounted(() => { + c.evt.on('onLoadSuccess', setSortFiled); + }); + + onUnmounted(() => { + c.evt.off('onLoadSuccess', setSortFiled); + }); + return { c, ns, @@ -192,7 +220,7 @@ export const GridControl = defineComponent({ ]} controller={this.c} > - {this.c.state.isLoaded && ( + { - )} + } {enablePagingBar && (