解决方案:给table绑定一个自增的key值。
this.state = {
// ...
key: 0
}
// 每次更新dataList 让this.state.key++
<Table
key={this.state.key}
dataSource={this.state.dataList}
defaultExpandAllRows={true}
// 其他配置..
/>
解决原理:绑定key标记每次渲染的都是一个新的表格
首次渲染时,defaultExpandAllRows其实已经生效了,但是可能因为表格没有数据所以看不出来,后续表格的数据再更新也不会再生效了,所以会出现失效的问题。绑定key告诉react每次数据更新渲染的都是一个新的表格,这样就不会出现问题了。