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数据发生变化时不会自动重新渲染的主要内容,如果未能解决你的问题,请参考以下文章

自定义过滤antd表dataSource的子项

浅了解:react为何需要设定唯一key值(antd-table)

vue antd a-table配置表格单选多选

共享单车—— React后台管理系统开发手记:AntD Table基础表格

antd vue里面 a-table再次封装,slot-scope如何跨组件传递?

【React_Antd】Table样式修改