复制
收藏
提问
全网
antd 选中行dataSource改变显示不变
3个月前
理解问题antd 选中行dataSource改变显示不变
已完成理解「antd 选中行dataSource改变显示不变」
展开阅读网页
问题原因及解决方法
问题原因:在React中使用antd的Table组件时,如果直接修改dataSource数组,React可能不会重新渲染组件,因为React通过引用比较来决定是否需要重新渲染。
解决方法:需要通过深拷贝dataSource数组,创建一个新的引用,然后通过setState来触发组件的重新渲染。
具体操作步骤
- 深拷贝dataSource:使用解构赋值或扩展运算符来创建dataSource的深拷贝。
- 例如:
let newData = [...this.state.dataSource];
5
- 例如:
- 更新dataSource:在需要更新dataSource时,先对数据进行处理,然后更新到新数组中。
- 使用setState:将新数组赋值给state,触发组件的重新渲染。
- 例如:
this.setState({ dataSource: newData });
5
- 例如:
注意事项
更专业一些
转笔记
专业
antd 选中行dataSource改变显示不变不在提醒