关于table的selectedRowKeys和selectedRows

项目使用的组件库是antd

页面中有很多table,有的table有行前面的复选框,于是就有了selectedRowkeys和selectedRows的事。他们两个都是数组,selectedRowkeys存的是table的rowKey,也就是表格中数据的主键,而selectRows存的是所选中的对象们。

当鼠标选中一行,即一个对象时 selectedRowkeys中就会push一个key进去,选多个就会在数组结尾追加多个,也就是说selectedRowkeys中元素的顺序和选择的顺序保持一致,与表格中数组的顺序无关。

而selectedRows则不同,当然这个数组中对象的个数与selectedRowkeys数组的长度必然是一致的,但其中对象的顺序则与选择的顺序无关,只是按照表格中所列数组的上下顺序排列的。例如:

从下至上依次选中3条数据,c,b,a, 那么selectedRows中的三个对象的顺序则是 a,b,c,无论选择的顺序是怎样的,即使有取消后又选中的情况,数组中元素的顺序也是不会变的,

id value
1 a
2 b
3 c

另一个,这是个坑!!!

如果列表是分页的 例如有2页,第一页选了一条数据,第二页选了一条数据,则selectedRowKeys中有两个元素,即所选两条数据的rowkey,而selectedRows中则只有一条,只有当前页面上显示的一条

猜你喜欢

转载自blog.csdn.net/zhuangjiajia09/article/details/125642370