diff --git a/.travis.yml b/.travis.yml index cff63380d..dd8a4fc66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,3 +15,4 @@ env: matrix: - TEST_TYPE=lint - TEST_TYPE=test + - TEST_TYPE=compile diff --git a/src/Table.tsx b/src/Table.tsx index f70e42a4d..f579bfc89 100644 --- a/src/Table.tsx +++ b/src/Table.tsx @@ -272,7 +272,7 @@ function Table(props: TableProps(mergedData, getRowKey); + return findAllChildrenKeys(mergedData, getRowKey, mergedChildrenColumnName); } return []; }); diff --git a/src/utils/expandUtil.tsx b/src/utils/expandUtil.tsx index ad770fb4d..8a0112b88 100644 --- a/src/utils/expandUtil.tsx +++ b/src/utils/expandUtil.tsx @@ -34,6 +34,7 @@ export function renderExpandIcon({ export function findAllChildrenKeys( data: RecordType[], getRowKey: GetRowKey, + childrenColumnName: string, ): Key[] { const keys: Key[] = []; @@ -41,7 +42,7 @@ export function findAllChildrenKeys( (list || []).forEach((item, index) => { keys.push(getRowKey(item, index)); - dig(((item as unknown) as { children: RecordType[] }).children); + dig((item as any)[childrenColumnName]); }); } diff --git a/tests/ExpandRow.spec.js b/tests/ExpandRow.spec.js index 1e66bbe93..ed55e2dc5 100644 --- a/tests/ExpandRow.spec.js +++ b/tests/ExpandRow.spec.js @@ -354,4 +354,18 @@ describe('Table.Expand', () => { .hasClass('rc-table-row-collapsed'), ).toBeTruthy(); }); + + // https://github.com/ant-design/ant-design/issues/21788 + it('`defaultExpandAllRows` with `childrenColumnName`', () => { + const data = [ + { + key: 0, + sub: [{ key: 1, sub: [{ key: 2 }] }], + }, + ]; + const wrapper = mount( + createTable({ data, childrenColumnName: 'sub', expandable: { defaultExpandAllRows: true } }), + ); + expect(wrapper.find('tbody tr')).toHaveLength(3); + }); });