antd Table在datasource数据发生变化时不会自动重新渲染

Posted

技术标签:

【中文标题】antd Table在datasource数据发生变化时不会自动重新渲染【英文标题】:antd Table is not automatically rerendered when datasource data changes 【发布时间】:2020-08-19 19:08:01 【问题描述】:

Ant Design Table 不会在数据源数据发生变化时自动重新渲染。

<Table
                columns=columns
                dataSource=filteredData
                pagination=pagination
                loading=loading
                onChange=this.handleChange />

filteredData 在基于放置在表格外部的自定义过滤器的方法中进行更改。

filteredData 改变时表格不应该自动重新渲染吗?

有谁知道filteredData改变时如何刷新表格?

【问题讨论】:

【参考方案1】:

如果您希望表自动重新渲染,filteredData 应该是状态。

onSourceChange = (something) => 
  this.setState(filteredData: something)

render()
  return (
   <div>
    <Table
      columns=columns
      dataSource=this.state.filteredData
      pagination=pagination
      loading=loading
      onChange=this.handleChange />
    <button onClick=()=>onSourceChange(['a','b','c'])>change datasource</button>
   </div>
  )

【讨论】:

以上是关于antd Table在datasource数据发生变化时不会自动重新渲染的主要内容,如果未能解决你的问题,请参考以下文章