element plus el-table多选框跨页多选保留功能

 更新时间:2025年05月13日 09:31:50   作者:a濯  
这篇文章主要介绍了element plus el-table多选框跨页多选保留功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一、基础多选配置

通过 type=“selection” 开启多选列,并绑定 selection-change 事件获取选中数据

<template>
  <el-table 
    :data="tableData" 
    @selection-change="handleSelectionChange"
  >
    <el-table-column type="selection" width="55" />
    <el-table-column prop="name" label="名称" />
    <!-- 其他列 -->
  </el-table>
</template>
<script setup>
const tableData = ref([...]);
const selectedData = ref([]);
const handleSelectionChange = (val) => {
  selectedData.value = val; // 获取选中数据
};
</script>

二、跨页多选保留

需设置 row-key 和 reserve-selection 属性实现跨页保留选中状态

<el-table 
  :data="tableData" 
  row-key="id" 
  @selection-change="handleSelectionChange"
>
  <el-table-column 
    type="selection" 
    :reserve-selection="true" 
    width="55" 
  />
  <!-- 其他列 -->
</el-table>

三、条件控制可选状态

通过 selectable 属性动态控制行是否可选中

<el-table-column 
  type="selection" 
  :selectable="(row, index) => row.status !== 'disabled'"
/>

四、手动回显选中数据

使用 toggleRowSelection 方法回显已选数据

<el-table ref="tableRef" row-key="id">
  <!-- 列配置 -->
</el-table>
<script setup>
import { nextTick } from 'vue';
const defaultSelected = ref([...]); // 默认选中数据
// 回显方法
const initSelection = async () => {
  await nextTick();
  defaultSelected.value.forEach(row => {
    tableRef.value.toggleRowSelection(row, true);
  });
};
</script>

五、样式与交互优化

‌行点击触发多选‌:通过 @row-click 配合 toggleRowSelection 实现点击行选中

<el-table @row-click="handleRowClick">
  <!-- 列配置 -->
</el-table>
<script setup>
const handleRowClick = (row) => {
  tableRef.value.toggleRowSelection(row);
};
</script>

‌调整多选框样式‌:通过自定义 CSS 覆盖默认样式(如间距、颜色等)。

六、注意事项:

id必须是表格数据中存在的key,请根据自己的表格数据结构来定义。
性能优化:跨页多选需结合分页接口动态加载数据,避免一次性加载全量数据。
完整示例可参考 Element Plus 官方文档或上述实现逻辑组合使用

到此这篇关于element plus el-table多选框跨页多选保留的文章就介绍到这了,更多相关element plus el-table多选框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue基于mint-ui实现城市选择三级联动

    vue基于mint-ui实现城市选择三级联动

    这篇文章主要为大家详细介绍了vue基于mint-ui实现城市选择三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Vue3全局属性app.config.globalProperties的实现

    Vue3全局属性app.config.globalProperties的实现

    Vue3中的app.config.globalProperties是一个强大的全局配置功能,允许我们在应用级别设置和访问属性,本文主要介绍了Vue3全局属性app.config.globalProperties的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 基于vue的下拉刷新指令和滚动刷新指令

    基于vue的下拉刷新指令和滚动刷新指令

    这篇文章主要介绍了基于vue的下拉刷新指令和滚动刷新指令的相关资料,需要的朋友可以参考下
    2016-12-12
  • VUE-cli3使用 svg-sprite-loader

    VUE-cli3使用 svg-sprite-loader

    svg-sprite-loader 的插件,用来根据导入的 svg 文件自动生成 symbol 标签并插入 html,这篇文章主要介绍了VUE-cli3使用 svg-sprite-loader,需要的朋友可以参考下
    2018-10-10
  • vue3 element的Form表单用法实例

    vue3 element的Form表单用法实例

    这篇文章主要为大家介绍了vue3中element的Form表单用法实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Vue实现用户没有登陆时,访问后自动跳转登录页面的实现思路

    Vue实现用户没有登陆时,访问后自动跳转登录页面的实现思路

    这篇文章主要介绍了Vue实现用户没有登陆时,访问后自动跳转登录页面,定义路由的时候配置属性,这里使用needLogin标记访问页面是否需要登录,本文通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Vue filter 过滤器、以及在table中的使用介绍

    Vue filter 过滤器、以及在table中的使用介绍

    这篇文章主要介绍了Vue filter 过滤器、以及在table中的使用介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 深入浅析Vue中mixin和extend的区别和使用场景

    深入浅析Vue中mixin和extend的区别和使用场景

    Vue中有两个较为高级的静态方法mixin和extend,接下来给大家介绍Vue中mixin和extend的区别和使用场景,感兴趣的朋友一起看看吧
    2019-08-08
  • Vue组件化开发的必备技能之组件递归

    Vue组件化开发的必备技能之组件递归

    组件是可以在它们自己的模板中调用自身的,不过它们只能通过 name 选项来做这件事,下面这篇文章主要给大家介绍了关于Vue组件化开发的必备技能之组件递归的相关资料,需要的朋友可以参考下
    2022-01-01
  • vue使用websocket连接优化性能方式

    vue使用websocket连接优化性能方式

    这篇文章主要介绍了vue使用websocket连接优化性能方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论