Antd UI库。覆盖空数据的行为

时间:2017-02-12 10:56:08

标签: reactjs antd

如果<Table />收到空数据数组,我想呈现其他一些内容。
目前它刚刚显示'No data',但我想在那里添加一些自定义组件。

Current default behavior on empty data property

如何做到这一点?< / p>

4 个答案:

答案 0 :(得分:5)

表格locale有一个属性。这是一个object,用于define以下内容:

filterConfirmfilterResetemptyText

如果emptyTexttext,请使用data指定您要展示的empty。像这样:

let locale = {
  emptyText: 'Abc',
};

<Table locale={locale}  dataSource={dataSource} columns={columns} />

查看文档:{​​{3}}

答案 1 :(得分:1)

您可以使用locale的antd表的Object个道具。 除了传递stringemptyText之外,您还可以传递HTML标签。

let locale = {
  emptyText: (
    <span>
      <p>
        <Icon type="like" />
        Custom Message
      </p>
      <Button>Custom Button</Button>
    </span>
  )
};

<Table locale={locale}  dataSource={dataSource} columns={columns} />

答案 2 :(得分:1)

还有另一种方法,而无需触摸locale属性:

<Table />包裹<ConfigProvider />并设置renderEmpty属性:

<ConfigProvider renderEmpty={() => <Empty description="Custom message"/>}>
  <Table />
</ConfigProvider>

renderEmpty函数可以返回您想要的任何组件。

此处有更多详细信息:https://ant.design/components/config-provider/#API 文档中的示例:https://ant.design/components/empty/#components-empty-demo-config-provider

答案 3 :(得分:1)

可以使用语言环境。可以直接给空文。

<Table locale={{emptyText:"No data"}  dataSource={dataSource} columns={columns} />