diff --git a/src/Table.jsx b/src/Table.jsx index 6cf3cdc9e..e1e2f85e3 100644 --- a/src/Table.jsx +++ b/src/Table.jsx @@ -33,7 +33,7 @@ export default class Table extends React.Component { showHeader: PropTypes.bool, title: PropTypes.func, footer: PropTypes.func, - emptyText: PropTypes.func, + emptyText: PropTypes.oneOfType([PropTypes.node, PropTypes.func]), scroll: PropTypes.object, rowRef: PropTypes.func, getBodyWrapper: PropTypes.func, @@ -558,7 +558,7 @@ export default class Table extends React.Component { const { emptyText, prefixCls, data } = this.props; return !data.length ? (
- {emptyText()} + {(typeof emptyText === 'function') ? emptyText() : emptyText}
) : null; } diff --git a/tests/Table.spec.js b/tests/Table.spec.js index 5fa17a85f..c3111c69a 100644 --- a/tests/Table.spec.js +++ b/tests/Table.spec.js @@ -31,6 +31,13 @@ describe('Table', () => { expect(renderToJson(wrapper)).toMatchSnapshot(); }); + it('renders empty text correctly', () => { + const wrapper1 = render(createTable({ data: [], emptyText: 'No data' })); + const wrapper2 = render(createTable({ data: [], emptyText: () => 'No data' })); + expect(renderToJson(wrapper1)).toMatchSnapshot(); + expect(renderToJson(wrapper2)).toMatchSnapshot(); + }); + it('renders without header', () => { const wrapper = render(createTable({ showHeader: false })); expect(renderToJson(wrapper)).toMatchSnapshot(); diff --git a/tests/__snapshots__/Table.spec.js.snap b/tests/__snapshots__/Table.spec.js.snap index fef348633..bf7fabe50 100644 --- a/tests/__snapshots__/Table.spec.js.snap +++ b/tests/__snapshots__/Table.spec.js.snap @@ -273,6 +273,72 @@ exports[`Table renders custom cell correctly 1`] = ` `; +exports[`Table renders empty text correctly 1`] = ` +
+
+
+ + + + + + + + + + +
+ Name +
+
+
+ No data +
+
+
+`; + +exports[`Table renders empty text correctly 2`] = ` +
+
+
+ + + + + + + + + + +
+ Name +
+
+
+ No data +
+
+
+`; + exports[`Table renders fixed header correctly 1`] = `