当前位置: 首页 > article >正文

Vue3 el-table 默认选中 传入的数组

一、效果:

二、官网是VUE2   现更改为Vue3写法

<template>
  <el-table
      :data="tableData"
      border stripe
      row-key="id"
      ref="tableRef"
      :cell-style="{ 'text-align': 'center' }"
      :header-cell-style="{
            background: '#b7babd',
            color: '#1e1f22',
            height: '35px',
            'text-align': 'center'
          }"
      v-loading="tableLoading"
      @selection-change="handleSelectionChange"
    >
      <el-table-column type="selection" width="40px" :reserve-selection="true"/>
      <el-table-column fixed prop="id" label="序号" width="60px" type="index"/>
      <el-table-column label="编码" align="center" width="140px" prop="code"/>
      <el-table-column label="名称" align="center" width="120px" prop="name" />
    </el-table>
</template>

<script setup lang="ts" name="rulesTable">
    const tableRef = ref()
    const isSelectIds = ref([]) // 选中的id

    const handleSelectionChange = (selection: any[]) => {
      isSelectIds.value = []
      const ids = selection.map(item => item.id);
      const names = selection.map(item => item.excptName);
      isSelectIds.value = ids;
    }

    const open = async (selectIds: Array<any>, type: string) => {
          dialogVisible.value = true
          isSelectIds.value = selectIds
          isSelectNames.value = ""
          tableLoading.value = true
          try {
            await EnergyBaseMeterInfoApi.getRulesTableList(type).then((res)=>{
              tableData.value = res

                 // todo 假设默认选中的是
                  isSelectIds.value = [12323123,232323234]
                 // todo 假设默认选中的是

              // 循环需要选中的数组
              isSelectIds.value.forEach(id => {
              // 在数据源中判断是否存在
              const row = tableData.value.find(r => String(r.id) === id);
                if (row) {
                  tableRef.value.toggleRowSelection(row, true);
                }
             });
            })
          } finally {
            tableLoading.value = false
          }
        }

    defineExpose({ open })
</script>

element官网

 


http://www.kler.cn/a/406724.html

相关文章:

  • Spark——安装步骤详细教程
  • java http body的格式 ‌application/x-www-form-urlencoded‌不支持文件上传
  • centos 服务器 docker 使用代理
  • Android Google登录接入
  • VSCode快速生成vue组件模版
  • 【爬虫】Firecrawl对京东热卖网信息爬取(仅供学习)
  • 深度学习1
  • 数据结构之树与二叉树
  • C语言:空指针详细解读
  • 实用功能,觊觎(Edge)浏览器的内置截(长)图功能
  • 《鸿蒙系统:开启智能新时代的璀璨之星》
  • MySQL中的CAST类型转换函数
  • docker 部署 kvm 图形化管理工具 WebVirtMgr
  • 论文翻译 | RECITATION-AUGMENTED LANGUAGE MODELS
  • Spark 之 Aggregate
  • 深入探索Apache JMeter:HashTree结构解析与应用
  • AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)
  • 游戏盾 :在线游戏的终极防护屏障
  • 返回流类型接口的错误信息处理
  • java基础概念37:正则表达式2-爬虫
  • Xilinx 7 系列 FPGA的各引脚外围电路接法
  • SMO算法-核方法支持向量机
  • HTML常用表格与标签
  • 经典 AEC 论文解读
  • 基础自动化系统的任务
  • HTMLCSS:3D立方体loading