diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 8e109c65e1b88aa853fe5580c0f956039c6d8a28..9d54b9d0e3a4bcba19c42adf76c532d44a70cdd5 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -7,6 +7,7 @@ ### 🐛 Bug Fixes - 修复表格列配置已知问题 +- 恢复 table 的`isTreeTable`属性 ## 2.0.0-rc.15 (2020-12-31) diff --git a/src/components/Table/src/hooks/useColumns.ts b/src/components/Table/src/hooks/useColumns.ts index 92d5b835ab28621c152b0a0556548762d664968d..2ee95d8a7eeb31ba5276d85c674a6ae613de0465 100644 --- a/src/components/Table/src/hooks/useColumns.ts +++ b/src/components/Table/src/hooks/useColumns.ts @@ -43,19 +43,17 @@ function handleIndexColumn( getPaginationRef: ComputedRef, columns: BasicColumn[] ) { - const { showIndexColumn, indexColumnProps } = unref(propsRef); + const { showIndexColumn, indexColumnProps, isTreeTable } = unref(propsRef); let pushIndexColumns = false; - columns.forEach((item) => { - const { children } = item; - - const isTreeTable = children && children.length; - + if (unref(isTreeTable)) { + return; + } + columns.forEach(() => { const indIndex = columns.findIndex((column) => column.flag === INDEX_COLUMN_FLAG); - - if (showIndexColumn && !isTreeTable) { + if (showIndexColumn) { pushIndexColumns = indIndex === -1; - } else if (!showIndexColumn && !isTreeTable && indIndex !== -1) { + } else if (!showIndexColumn && indIndex !== -1) { columns.splice(indIndex, 1); } }); diff --git a/src/components/Table/src/props.ts b/src/components/Table/src/props.ts index db6df078b926a6b9d5639c122dee135183b5b92d..3e116297c8b036c2c900b71b066f3043663a4c24 100644 --- a/src/components/Table/src/props.ts +++ b/src/components/Table/src/props.ts @@ -16,6 +16,8 @@ import { propTypes } from '/@/utils/propTypes'; export const basicProps = { clickToRowSelect: propTypes.bool.def(true), + isTreeTable: propTypes.bool.def(false), + tableSetting: { type: Object as PropType, }, diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts index 6d7df07223ffb6487ebeef427805a3033d88a2ca..ef7c7b930756c544ca3a2f13b78cd2195f1722d8 100644 --- a/src/components/Table/src/types/table.ts +++ b/src/components/Table/src/types/table.ts @@ -125,6 +125,7 @@ export interface TableSetting { export interface BasicTableProps { // 点击行选中 clickToRowSelect?: boolean; + isTreeTable?: boolean; // 自定义排序方法 sortFn?: (sortInfo: SorterResult) => any; // 排序方法 diff --git a/src/views/demo/table/TreeTable.vue b/src/views/demo/table/TreeTable.vue index 79ae660af8807c4c34da7a782a8a686bca75288b..c43c16978aee86693e0e81d85355c75110a160d5 100644 --- a/src/views/demo/table/TreeTable.vue +++ b/src/views/demo/table/TreeTable.vue @@ -8,6 +8,7 @@ :dataSource="data" rowKey="id" :indentSize="20" + isTreeTable />