From 8d7cbbdb0ff4c048cdbfa45d5563212242b216e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=81=8F=E5=8F=B3?= Date: Tue, 4 Aug 2020 11:43:11 +0800 Subject: [PATCH] fix: Table empty filters throw warning (#26001) close #25979 --- .../table/__tests__/Table.filter.test.js | 23 +++++++++++------- .../table/hooks/useFilter/FilterDropdown.tsx | 24 +++++++++++-------- 2 files changed, 29 insertions(+), 18 deletions(-) diff --git a/components/table/__tests__/Table.filter.test.js b/components/table/__tests__/Table.filter.test.js index 8a4990d9a591..ffff2c32abfb 100644 --- a/components/table/__tests__/Table.filter.test.js +++ b/components/table/__tests__/Table.filter.test.js @@ -82,16 +82,23 @@ describe('Table.filter', () => { }); it('renders empty menu correctly', () => { - const wrapper = mount(createTable({ - columns: [ - { - ...column, - filters: [], - }, - ], - })); + jest.spyOn(console, 'error').mockImplementation(() => undefined); + const wrapper = mount( + createTable({ + columns: [ + { + ...column, + filters: [], + }, + ], + }), + ); wrapper.find('span.ant-dropdown-trigger').simulate('click', nativeEvent); expect(wrapper.find('Empty').length).toBe(1); + // eslint-disable-next-line no-console + expect(console.error).not.toHaveBeenCalled(); + // eslint-disable-next-line no-console + console.error.mockRestore(); }); it('renders radio filter correctly', () => { diff --git a/components/table/hooks/useFilter/FilterDropdown.tsx b/components/table/hooks/useFilter/FilterDropdown.tsx index 19d1e895df6e..cdd1d5c3caf2 100644 --- a/components/table/hooks/useFilter/FilterDropdown.tsx +++ b/components/table/hooks/useFilter/FilterDropdown.tsx @@ -34,17 +34,21 @@ function renderFilterItems({ locale: TableLocale; }) { if (filters.length === 0) { + // wrapped with <> to avoid react warning + // https://github.com/ant-design/ant-design/issues/25979 return ( - + <> + + ); } return filters.map((filter, index) => {