问题描述
一个Table组件复用,对应不同情况下的column配置,当前面一种情况做了操作(排序)时,后面一种情况的排序会继承前面的操作。例如省市级和网格级分别对应不同的列表column配置,当省市级时对列表做了降序处理,切换到网格级时,列表排序顺序默认会以降序排列!!,而不是以网格级对应的columns来决定!!
原因分析
经过排查,发现是Table缓存了操作结果(排序)。当切换层级时,column配置是变了,但是由于Table没有唯一的key来区分,导致渲染前后react认为是同一个Table, 所以,操作结果(排序)还是保留了下来。
解决办法
省市级和网格级分别给Table赋予不同的key即可
<Table
key={'省市级' ? 'XXX' : 'YYY'}
...
>
</Table>