问题:在重写排序,多选,选中全部数据再切换排序方式为null时全选状态消失,不为null时全选状态不会掉。
分析与解决:
1.使用@select-all="handleSelectAllChange"方法设置全选,非全选。
const handleSelectAllChange = (selection: Array<any>) => {} 打印selection数据在排序方式为null的时候返回一个空对象,导致页面全选状态丢失。
2.排查出发handleSelectAllChange之前并没有调用clearSelection()方法。
3.排查重写的排序函数@sort-change="sortChange"中发现:排序函数中只重写了ascending,descending状态,当排序状态为null时没有恢复原始数据。排序中添加null状态重写代码,使得表格数据恢复原始数据状态。
4.修改完成再次运行代码,在排序状态为null时全选中状态也不会掉,selection也能正常返回当前页选中数据。问题解决。