要解决antd Table组件selectedRows翻页后保留上一页已选中的items,你可以按照以下步骤进行操作:

  1. 在data中声明一个selectedRowKeys数组,用于存储选中行的rowKey值。

    data() {
      return {
        selectedRowKeys: [], // 用于存储选中行的rowKey值
        // 其他data属性...
      }
    },
    
  2. 在onSelectChange方法中更新selectedRowKeys数组,该方法会在选中行发生变化时被调用。

    methods: {
      onSelectChange(selectedRowKeys) {
        this.selectedRowKeys = selectedRowKeys;
      },
      // 其他方法...
    },
    
  3. 在handleTableChange方法中,在翻页时更新selectedRowKeys数组。

    methods: {
      handleTableChange(pagination) {
        const { current } = pagination;
        // 如果当前页发生变化,则清空选中项
        if (current !== this.ipagination.current) {
          this.selectedRowKeys = [];
        }
        // 更新当前页码
        this.ipagination.current = current;
        // 其他处理逻辑...
      },
      // 其他方法...
    },
    
  4. 在a-table组件中绑定selectedRowKeys和onChange属性。

    <a-table
      ref="table"
      size="middle"
      bordered
      rowKey="id"
      :columns="columns"
      :dataSource="dataSource"
      :pagination="ipagination"
      :loading="loading"
      :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
      class="j-table-force-nowrap"
      @change="handleTableChange"
    ></a-table>
    

通过以上步骤,当你翻页时,已选中的行将会保留在selectedRowKeys数组中,从而实现了antd Table组件selectedRows翻页后保留上一页已选中的items

解决 a-table ref=table size=middle bordered rowKey=id columns=columns dataSource=dataSource pagination=ipagination loading=loading row

原文地址: http://www.cveoy.top/t/topic/iEpw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录