diff --git a/jeecgboot-vue3/src/components/Table/src/hooks/useDataSource.ts b/jeecgboot-vue3/src/components/Table/src/hooks/useDataSource.ts index 6d1ec9812..e019d279a 100644 --- a/jeecgboot-vue3/src/components/Table/src/hooks/useDataSource.ts +++ b/jeecgboot-vue3/src/components/Table/src/hooks/useDataSource.ts @@ -238,12 +238,20 @@ export function useDataSource( const { sortInfo = {}, filterInfo } = searchState; + // 扩展默认排序多字段数组写法 + let defSortInfo: Recordable | undefined = {}; + if (defSort && Array.isArray(defSort) && defSort.length > 0) { + defSortInfo['defSortString'] = JSON.stringify(defSort); + } else { + defSortInfo = defSort; + } + let params: Recordable = { ...pageParams, // 由于 getFieldsValue 返回的不是逗号分割的数据,所以改用 validate ...(useSearchForm ? await validate() : {}), ...searchInfo, - ...defSort, + ...defSortInfo, ...(opt?.searchInfo ?? {}), ...sortInfo, ...filterInfo, diff --git a/jeecgboot-vue3/src/components/Table/src/types/table.ts b/jeecgboot-vue3/src/components/Table/src/types/table.ts index 9afc19958..8cc12fb51 100644 --- a/jeecgboot-vue3/src/components/Table/src/types/table.ts +++ b/jeecgboot-vue3/src/components/Table/src/types/table.ts @@ -190,7 +190,7 @@ export interface BasicTableProps { // 额外的请求参数 searchInfo?: Recordable; // 默认的排序参数 - defSort?: Recordable; + defSort?: Recordable | Recordable[]; // 使用搜索表单 useSearchForm?: boolean; // 表单配置 diff --git a/jeecgboot-vue3/src/views/system/examples/demo/index.vue b/jeecgboot-vue3/src/views/system/examples/demo/index.vue index bedc7a177..43367f5b2 100644 --- a/jeecgboot-vue3/src/views/system/examples/demo/index.vue +++ b/jeecgboot-vue3/src/views/system/examples/demo/index.vue @@ -123,11 +123,17 @@ style: { textAlign: 'left' }, }, }, - //自定义默认排序 - defSort: { - column: 'createTime,sex', - order: 'desc', - }, + //自定义默认多字段排序 + defSort: [ + { + column: 'name', + order: 'desc', + }, + { + column: 'sex', + order: 'asc', + }, + ], striped: true, useSearchForm: true, showTableSetting: true,