Skip to content

Commit 599b474

Browse files
committed
feat: table expandedRowKeys support v-model, close #5695
1 parent 09cb907 commit 599b474

File tree

4 files changed

+9
-3
lines changed

4 files changed

+9
-3
lines changed

components/table/Table.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@ export const tableProps = () => {
156156
type: Function as PropType<TableProps['onExpandedRowsChange']>,
157157
default: undefined,
158158
},
159+
'onUpdate:expandedRowKeys': {
160+
type: Function as PropType<TableProps['onExpandedRowsChange']>,
161+
default: undefined,
162+
},
159163
defaultExpandAllRows: {
160164
type: Boolean as PropType<TableProps['defaultExpandAllRows']>,
161165
default: undefined,

components/table/index.en-US.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Specify `dataSource` of Table as an array of data.
8282
| defaultExpandAllRows | Expand all rows initially | boolean | `false` | |
8383
| defaultExpandedRowKeys | Initial expanded row keys | string\[] | - | |
8484
| emptyText | Customize the display content when empty data | v-slot:emptyText | - | 3.0 |
85-
| expandedRowKeys | Current expanded row keys | string\[] | - | |
85+
| expandedRowKeys(v-model) | Current expanded row keys | string\[] | - | |
8686
| expandedRowRender | Expanded container render for each row | Function({record, index, indent, expanded}):VNode\|v-slot | - | |
8787
| expandFixed | Set column to be fixed: `true`(same as left) `'left'` `'right'` | boolean \| string | false | 3.0 |
8888
| expandIcon | Customize row expand Icon. | Function(props):VNode \| v-slot:expandIcon="props" | - | |

components/table/index.zh-CN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ cover: https://gw.alipayobjects.com/zos/alicdn/f-SbcX2Lx/Table.svg
8787
| defaultExpandAllRows | 初始时,是否展开所有行 | boolean | false | |
8888
| defaultExpandedRowKeys | 默认展开的行 | string\[] | - | |
8989
| emptyText | 自定义空数据时的显示内容 | v-slot:emptyText | - | 3.0 |
90-
| expandedRowKeys | 展开的行,控制属性 | string\[] | - | |
90+
| expandedRowKeys(v-model) | 展开的行,控制属性 | string\[] | - | |
9191
| expandedRowRender | 额外的展开行 | Function(record, index, indent, expanded):VNode \| v-slot:expandedRowRender="{record, index, indent, expanded}" | - | |
9292
| expandFixed | 控制展开图标是否固定,可选 true `left` `right` | boolean \| string | false | 3.0 |
9393
| expandIcon | 自定义展开图标 | Function(props):VNode \| v-slot:expandIcon="props" | - | |

components/vc-table/Table.tsx

+3-1
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ export default defineComponent<TableProps<DefaultRecordType>>({
177177
'expandIcon',
178178
'onExpand',
179179
'onExpandedRowsChange',
180+
'onUpdate:expandedRowKeys',
180181
'defaultExpandAllRows',
181182
'indentSize',
182183
'expandIconColumnIndex',
@@ -192,7 +193,7 @@ export default defineComponent<TableProps<DefaultRecordType>>({
192193
'transformCellText',
193194
] as any,
194195
slots: ['title', 'footer', 'summary', 'emptyText'],
195-
emits: ['expand', 'expandedRowsChange', 'updateInternalRefs'],
196+
emits: ['expand', 'expandedRowsChange', 'updateInternalRefs', 'update:expandedRowKeys'],
196197
setup(props, { attrs, slots, emit }) {
197198
const mergedData = computed(() => props.data || EMPTY_DATA);
198199
const hasData = computed(() => !!mergedData.value.length);
@@ -289,6 +290,7 @@ export default defineComponent<TableProps<DefaultRecordType>>({
289290
innerExpandedKeys.value = newExpandedKeys;
290291

291292
emit('expand', !hasKey, record);
293+
emit('update:expandedRowKeys', newExpandedKeys);
292294
emit('expandedRowsChange', newExpandedKeys);
293295
};
294296

0 commit comments

Comments
 (0)