el-table支持多页的多选

在使用el-table自带多选时,会发现切页之后上一页的选择无法保持,但是在某些业务场景中,需要支持多页多选,记住之前的选择

javascript 复制代码
 <el-table
   :data="standardDatasets"
   border
   @select="handleSelectionChange"
   @select-all="handleSelectAll">
   <el-table-column type="selection" width="55" />
</el-table>
javascript 复制代码
const selectedDataset = ref([])
// 如果存在就删除 如果没有存在就加入
function handleSelectionChange(rows, row) {
  if (selectedDataset.value.find(item => item == row.id)) {
    //下面这个filter方法就是删除的方法
    selectedDataset.value = selectedDataset.value.filter(item => item != row.id)
  } else {
    selectedDataset.value.push(row.id)
  }
}
//处理全选问题
function handleSelectAll(rows) {
  if (rows.length) {
    rows.forEach(row => {
      if (!selectedDataset.value.find(item => item == row.id)) {
        selectedDataset.value.push(row.id)
      }
    })
  } else {
    standardDatasets.forEach(row => {
      selectedDataset.value = selectedDataset.value.filter(
        item => item != row.id
      )
    })
  }
  // console.log(selectedDataset.value, rows, taskList)
}
相关推荐
Csvn13 分钟前
组合式 API(Composition API)
前端
火柴就是我1 小时前
Android 打包报错 25.0.3
android·前端
BD_Marathon1 小时前
消息对象中字段的说明
java·前端·python
八荒启·交互动画1 小时前
Web特效025—用 Canvas 2D 做Web特效的定义与边界:这支画笔能做到哪一步
前端·webgl·网页特效·八荒启-交互动画·八荒启
Ai-_Man1 小时前
您您这可以把Dola的多个会话比如说。左侧的多个会话一次性导出吗?不是单条会话里面的多次会对话。用AI导出鸭,答案是可以的
开发语言·前端·人工智能·小程序
excel2 小时前
Nuxt 中使用 useHead 优化 SEO 与 GEO
前端
IT_陈寒3 小时前
SpringBoot启动慢得像蜗牛?原来是这个配置在捣鬼
前端·人工智能·后端
计算机魔术师3 小时前
Muse Spark跑赢Gemini,但真正的底牌是这种设计
前端
雪芽蓝域zzs3 小时前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
PYB33 小时前
【Web·JS·基础】函数的使用和展运算符...objs
前端·javascript