ant-design-vue的

Ant Design Vue 中,preserveSelectedRowKeys 是用于 Table 组件的一项属性,主要作用是控制在表格数据变化(如分页、过滤、排序等)时,是否保留已选择行的 rowKey

默认行为

当你使用行选择功能(rowSelection)并且更改了分页、过滤条件或排序时,默认情况下表格会清除当前页之外的选中项。这是因为表格会认为当前显示的数据已经发生了变化。

preserveSelectedRowKeys 的作用

如果设置 preserveSelectedRowKeystrue,即使表格数据变化(如分页、排序等),已选中的行依然会被保留。它确保选中的 rowKey 不会因为表格重新渲染而丢失。

html 复制代码
  <a-table
    :row-selection="rowSelection"
    :columns="columns"
    :data-source="data"
    :pagination="pagination"
    :row-key="record => record.id"
    :preserve-selected-row-keys="true"
  />

注意在rowSelection 里面使用,且返回computed

javascript 复制代码
const selectKeys = ref<Key[]>([]);
const rowSelection = computed<ProTableProps['rowSelection']>(() => ({
  selectedRowKeys: selectKeys.value,
  preserveSelectedRowKeys: true,
  onChange(values: Key[]) {
    selectKeys.value = values;
  },
}));
相关推荐
莫物6 小时前
vue过滤表格数据导致的索引错乱问题
前端·javascript·vue.js
Можно7 小时前
Vue 组件样式隔离完全指南:从原理到实战
前端·javascript·vue.js
英俊潇洒美少年7 小时前
Vue3 完整渲染流程(从 createApp → mount → update → unmount)
前端·javascript·vue.js
前端Hardy8 小时前
Pinia 比 Vuex 好用 10 倍?Vue3 状态管理终于不折磨人了!(新手复制即用)
前端·javascript·vue.js
前端Hardy8 小时前
Vue3 的 v-model 双向绑定,90% 的人都用错了?(附 2026 最新避坑指南)
前端·javascript·vue.js
前端Hardy8 小时前
救命!Vue3 的 Composition API,居然能让我少写 80% 冗余代码?(新手也能直接抄)
前端·javascript·vue.js
王霸天8 小时前
🚨 还在用 rem) 做大屏适配?用 vfit.js 一键搞定,告别改稿8版的噩梦!
前端·vue.js·数据可视化
Mr Xu_9 小时前
Vue3 + Leaflet实战:深入解析MarkerCluster点位聚合插件的使用与优化
前端·javascript·vue.js
源码宝9 小时前
使用 PHP(Laravel 8)+ Vue 2 + Element UI + MySQL 5.7开发一套医院不良事件系统的注意事项
vue.js·php·laravel
D_C_tyu9 小时前
Vue + Leaflet 实现地图任意点位点击查看时间功能
前端·javascript·vue.js