解决 a-table ref=table size=middle bordered rowKey=id columns=columns dataSource=dataSource pagination=ipagination loading=loading row
要解决antd Table组件selectedRows翻页后保留上一页已选中的items,你可以按照以下步骤进行操作:
-
在data中声明一个selectedRowKeys数组,用于存储选中行的rowKey值。
data() { return { selectedRowKeys: [], // 用于存储选中行的rowKey值 // 其他data属性... } },
-
在onSelectChange方法中更新selectedRowKeys数组,该方法会在选中行发生变化时被调用。
methods: { onSelectChange(selectedRowKeys) { this.selectedRowKeys = selectedRowKeys; }, // 其他方法... },
-
在handleTableChange方法中,在翻页时更新selectedRowKeys数组。
methods: { handleTableChange(pagination) { const { current } = pagination; // 如果当前页发生变化,则清空选中项 if (current !== this.ipagination.current) { this.selectedRowKeys = []; } // 更新当前页码 this.ipagination.current = current; // 其他处理逻辑... }, // 其他方法... },
-
在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
原文地址: http://www.cveoy.top/t/topic/iEpw 著作权归作者所有。请勿转载和采集!