vue3 element-plus 组件table表格 勾选框回显(初始化默认回显)完整静态代码

javascript 复制代码
<template>
  <el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
    <el-table-column type="selection" width="55" />
    <el-table-column label="时间" width="120">
      <template #default="scope">{{ scope.row.date }}</template>
    </el-table-column>
    <el-table-column property="name" label="姓名" width="120" />
    <el-table-column property="address" label="地址" show-overflow-tooltip />
  </el-table>
</template>

<script lang="ts" setup>
import { ref, reactive, onMounted } from 'vue'
import { ElTable } from 'element-plus'


const multipleTableRef = ref<any>()
const tableData = [
  {
    id: '1',
    date: '2016-05-03',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    id: '2',
    date: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    id: '3',
    date: '2016-05-04',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    id: '4',
    date: '2016-05-01',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },

]

//部分显示,默认回显 id 为 1 的勾选框
const toggleSelection = (rows: any) => {
  console.log( multipleTableRef.value,'值必须不为空');
  console.log(rows, 'table全部数据');
  const ids = ['1', '2', '4']
  if (rows) {
    rows.forEach((row: any) => {
      if(row.id === '1'){  //单个情况回显
      // if (ids.includes(row.id)) { // 判断当前行是否为默认回显行  数组多个数据回显情况
        multipleTableRef.value!.toggleRowSelection(row, true) // 默认勾选
      } else {
        multipleTableRef.value!.toggleRowSelection(row, false) // 不选中
      }
    })
  } else {
    multipleTableRef.value!.clearSelection()
  }
}
onMounted(() => {
  // getTableData()
  toggleSelection(tableData)
})
</script>
相关推荐
OpenTiny社区1 分钟前
把 SearchBox 塞进项目,搜索转化率怒涨 400%?
前端·vue.js·github
ReturnTrue8681 小时前
Vue路由状态持久化方案,优雅实现记住表单历史搜索记录!
前端·vue.js
遂心_1 小时前
深入解析前后端分离中的 /api 设计:从路由到代理的完整指南
前端·javascript·api
@大迁世界1 小时前
第7章 React性能优化核心
前端·javascript·react.js·性能优化·前端框架
DownToEarth2 小时前
H5实现获取当前定位
javascript
前端Hardy2 小时前
HTML&CSS:惊艳!科技感爆棚的登录页面代码解析
前端·javascript·html
武昌库里写JAVA2 小时前
「mysql」Mac osx彻底删除mysql
vue.js·spring boot·毕业设计·layui·课程设计
我是哈哈hh2 小时前
【AJAX项目】黑马头条——数据管理平台
前端·javascript·ajax·前端框架·axios·proxy模式
Ronin-Lotus2 小时前
上位机知识篇---AJAX
前端·javascript·ajax
Rika2 小时前
手写mini-vue之后,我写了一份面试通关手册
前端·vue.js