diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue index e114611ac916b06f522a1128f3b45aafdeee33c1..39739b0ba49493da134904339f2a54836e6f866f 100644 --- a/src/components/Table/src/BasicTable.vue +++ b/src/components/Table/src/BasicTable.vue @@ -127,6 +127,7 @@ handleTableChange: onTableChange, getDataSourceRef, getDataSource, + getRawDataSource, setTableData, updateTableDataRecord, findTableDataRecord, @@ -273,6 +274,7 @@ setColumns, setLoading, getDataSource, + getRawDataSource, setProps, getRowSelection, getPaginationRef: getPagination, diff --git a/src/components/Table/src/hooks/useDataSource.ts b/src/components/Table/src/hooks/useDataSource.ts index fe6ab3a890ac1bacb8932b627d7658e0f15c6d71..9b6d5c9d0f6f5b24a43c682aa5ddfe38e79385ec 100644 --- a/src/components/Table/src/hooks/useDataSource.ts +++ b/src/components/Table/src/hooks/useDataSource.ts @@ -47,6 +47,7 @@ export function useDataSource( filterInfo: {}, }); const dataSourceRef = ref([]); + const rawDataSourceRef = ref({}); watchEffect(() => { tableData.value = unref(dataSourceRef); @@ -235,6 +236,7 @@ export function useDataSource( } const res = await api(params); + rawDataSourceRef.value = res; const isArrayResult = Array.isArray(res); @@ -287,6 +289,10 @@ export function useDataSource( return getDataSourceRef.value as T[]; } + function getRawDataSource() { + return rawDataSourceRef.value as T; + } + async function reload(opt?: FetchParams) { await fetch(opt); } @@ -300,6 +306,7 @@ export function useDataSource( return { getDataSourceRef, getDataSource, + getRawDataSource, getRowKey, setTableData, getAutoCreateKey, diff --git a/src/components/Table/src/hooks/useTable.ts b/src/components/Table/src/hooks/useTable.ts index e20d67febebe45370101a459d5fbfe283eb72c72..8f25b3138301bf87c0d929dadf40db144d61d498 100644 --- a/src/components/Table/src/hooks/useTable.ts +++ b/src/components/Table/src/hooks/useTable.ts @@ -82,6 +82,9 @@ export function useTable(tableProps?: Props): [ getDataSource: () => { return getTableInstance().getDataSource(); }, + getRawDataSource: () => { + return getTableInstance().getRawDataSource(); + }, getColumns: ({ ignoreIndex = false }: { ignoreIndex?: boolean } = {}) => { const columns = getTableInstance().getColumns({ ignoreIndex }) || []; return toRaw(columns); diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts index 56bf2c8c609d83c55f7fcb7be2c3daa5d31739f5..1a130a316eb45131c5dc0f5c7d7beb1cdb7b41d9 100644 --- a/src/components/Table/src/types/table.ts +++ b/src/components/Table/src/types/table.ts @@ -99,6 +99,7 @@ export interface TableActionType { getColumns: (opt?: GetColumnsParams) => BasicColumn[]; setColumns: (columns: BasicColumn[] | string[]) => void; getDataSource: () => T[]; + getRawDataSource: () => T; setLoading: (loading: boolean) => void; setProps: (props: Partial) => void; redoHeight: () => void; diff --git a/src/views/demo/table/RefTable.vue b/src/views/demo/table/RefTable.vue index f23f3cff92f1064db00acf52c24d4e2934ed962b..f2a0c6dd593de431b2bdbe7c2d6dde9b735f0b88 100644 --- a/src/views/demo/table/RefTable.vue +++ b/src/views/demo/table/RefTable.vue @@ -6,6 +6,7 @@ 更改Columns 获取Columns 获取表格数据 + 获取接口原始数据 跳转到第2页
@@ -71,6 +72,10 @@ createMessage.info('请在控制台查看!'); console.log(getTableAction().getDataSource()); } + function getTableRawData() { + createMessage.info('请在控制台查看!'); + console.log(getTableAction().getRawDataSource()); + } function getPagination() { createMessage.info('请在控制台查看!'); @@ -107,6 +112,7 @@ reloadTable, getColumn, getTableData, + getTableRawData, getPagination, setPaginationInfo, getSelectRowList, diff --git a/src/views/demo/table/UseTable.vue b/src/views/demo/table/UseTable.vue index c20c1bec5659fb341024d9af6fea6cb2d6ce4f2a..7a6373b5b7e4094d01826be3072ef70302cf7b1d 100644 --- a/src/views/demo/table/UseTable.vue +++ b/src/views/demo/table/UseTable.vue @@ -6,6 +6,7 @@ 更改Columns 获取Columns 获取表格数据 + 获取接口原始数据 跳转到第2页
@@ -38,6 +39,7 @@ setColumns, getColumns, getDataSource, + getRawDataSource, reload, getPaginationRef, setPagination, @@ -89,6 +91,11 @@ console.log(getDataSource()); } + function getTableRawData() { + createMessage.info('请在控制台查看!'); + console.log(getRawDataSource()); + } + function getPagination() { createMessage.info('请在控制台查看!'); console.log(getPaginationRef()); @@ -122,6 +129,7 @@ reloadTable, getColumn, getTableData, + getTableRawData, getPagination, setPaginationInfo, getSelectRowList,