arco-design-vue icon indicating copy to clipboard operation
arco-design-vue copied to clipboard

table组件怎么获取所有选中行的row-data,包括多页选择

Open niceMoonMaker opened this issue 2 years ago • 8 comments

在表格的选择事件中,只抛出了keys,但是我需要的是选中行所有的数据,如果通过遍历从tableData去取,会比较麻烦,方法里也没有找到这个功能,这个功能是否有其他方式实现?

niceMoonMaker avatar Mar 29 '23 09:03 niceMoonMaker

table的选择事件做的相当不友好,提个建议: 1.全选和单选虽然都触发change事件,触发事件应该有对应获取选中值的方法或作为参数抛出,目前只抛出了keys,那获取所有选中数据就成了新的问题,需要把所有数据全部遍历一遍,而select事件虽然有data但不响应全选,并且只有当前的data 2.拜托做下分页数据缓存吧,把rowData存起来,如果是出于性能考虑,可以选择配置是否开启缓存,否则自己需要维护每个key对应的数据,增加删除起来增加很多逻辑,都是些重复的逻辑

niceMoonMaker avatar Mar 30 '23 02:03 niceMoonMaker

自己写个 Map 存就好了,再通过 selectedKeys 从 Map 中获取

xinhaoxx avatar Mar 30 '23 05:03 xinhaoxx

我想过这种处理方式,那么要不要考虑删除的问题呢?如果多页的时候他选了很多数据,然后又删除,这种极端情况下会导致map对象很大,并且不能一个事件搞定,sellec事件和sellect-all都得做处理,多了很多非必要代码

niceMoonMaker avatar Mar 31 '23 01:03 niceMoonMaker

不过目前,也就只有map方式了

niceMoonMaker avatar Mar 31 '23 01:03 niceMoonMaker

传给a-table data,selected-keys 。 获取选中的行时 data.filter(o=> selectedKeys.includes(o.xxx)) 不就完事了? 另外还有一个 @selection-change 事件可以用

junyugit avatar Apr 02 '23 04:04 junyugit

selection

selection-change就是个鸡肋 隔壁naive ui 的 on-update:checked-row-keys才有用

kanhebei avatar Sep 12 '23 14:09 kanhebei

还不如隔壁的elementUI

hzfvictory avatar Jan 18 '24 05:01 hzfvictory

还不如隔壁的elementUI 我特意去看了看 element plus,发现它的表格根本就不支持分页

dingshaohua-com avatar Apr 21 '25 02:04 dingshaohua-com