无木
2021-08-13 4b6025cb9a3ef067680201ec3052bc651e0a0c1b
fix(table): `getSelectRows` support multi-page

getSelectRows支持跨页选择

close: #914
2个文件已修改
11 ■■■■ 已修改文件
CHANGELOG.zh_CN.md 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/src/hooks/useRowSelection.ts 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CHANGELOG.zh_CN.md
@@ -12,6 +12,7 @@
  - 修复可编辑单元格未能正确显示`0`值的问题
  - 修复 selection-change 事件在取消勾选时未能正确触发的问题
  - 修复浅色主题下的全屏状态背景颜色不正确的问题
  - 修复`getSelectRows`不支持远程数据跨页选择时获取完整数据的问题
- **Qrcode** 修复二维码组件在创建时未能及时绘制的问题
- **BasicModal** 修复`helpMessage`属性不起作用的问题
src/components/Table/src/hooks/useRowSelection.ts
@@ -67,13 +67,19 @@
  function setSelectedRowKeys(rowKeys: string[]) {
    selectedRowKeysRef.value = rowKeys;
    selectedRowRef.value = findNodeAll(
      toRaw(unref(tableData)),
    const allSelectedRows = findNodeAll(
      toRaw(unref(tableData)).concat(toRaw(unref(selectedRowRef))),
      (item) => rowKeys.includes(item[unref(getRowKey) as string]),
      {
        children: propsRef.value.childrenColumnName ?? 'children',
      }
    );
    const trueSelectedRows: any[] = [];
    rowKeys.forEach((key: string) => {
      const found = allSelectedRows.find((item) => item[unref(getRowKey) as string] === key);
      found && trueSelectedRows.push(found);
    });
    selectedRowRef.value = trueSelectedRows;
  }
  function setSelectedRows(rows: Recordable[]) {