vue + element---plus 表格复选框回显

<template>
  <el-table
    :data="tableData"
    style="width: 100%"
    ref="multipleTable"
    @selection-change="handleSelectionChange"
  >
    <el-table-column
      type="selection"
      width="55">
    </el-table-column>
    <!-- 其他列 -->
  </el-table>
</template>
 
<script>
export default {
  data() {
    return {
      tableData: [], // 表格数据
      selectedRows: [], // 已选行id数组
    };
  },
  methods: {
    // 数据初始加载后,可以根据已选行id数组回显复选框
    loadTableData() {
      // 模拟从API获取数据
      this.tableData = [
        // ...获取到的数据
      ];
      // 回显复选框
      this.tableData.forEach(row => {
        if (this.selectedRows.includes(row.id)) {
          this.$refs.multipleTable.toggleRowSelection(row, true);
        }
      });
    },
    handleSelectionChange(selection) {
      // 当复选框选项变化时更新已选行id数组
      this.selectedRows = selection.map(item => item.id);
    },
  },
  mounted() {
    this.loadTableData();
  },
};
</script>

方法二

//vue3写法
import { ref, reactive, defineProps, defineEmits, nextTick } from 'vue'

const multipleTable = ref(null)
const comonArr = ref([])
nextTick(() => {
    comonArr.value.forEach((row) => {
        const row = tableData.find((f) => f.id = row)
        multipleTable.toggleRowSelection(row, true);
    });
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值