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`] = `
+
+`;
+
+exports[`Table renders empty text correctly 2`] = `
+
+`;
+
exports[`Table renders fixed header correctly 1`] = `