elementUI table多选 设置默认勾选

问题:在调用接口返回数据时,table中的数据行根据后端返回的某些字段,默认勾选

解决:
elementUI 中:
在这里插入图片描述

toggleSelection(rows) {
  if (rows) {
     rows.forEach(row => {
       this.$refs.multipleTable.toggleRowSelection(row);
     });
   } else {
     this.$refs.multipleTable.clearSelection();
   }
 },
<el-table
    ref="multipleTableClinicRoom"
    :data="tableData" 
    stripe 
    border
    v-loading="tableLoading"
    highlight-current-row
    @row-click="handleCurrentChange"
    :cell-class-name="getCellIndex"
    class="clinic-area-table-area tb-edit"
    @selection-change="handleClinicRoomChange"
    empty-text="暂无数据">
    <el-table-column type="selection" width="55">
       ......
    </el-table-column>
   </el-table>

以上是表格数据的配置项,下面是实现的代码:

this.tableData.forEach((item, index) => {
   if (item.selectStatus === 0) {
   // 等表格数据加载完成后
      this.$nextTick(() => {
      // 注意:toggleRowSelection(item, true) 中 item 必须是行数据
        this.$refs.multipleTableClinicRoom.toggleRowSelection(this.tableData[index], true)
      })
    }
  })
### ElementUI 表格组件功能详解 #### 实现行的基础结构 ElementUI 的 `el-table` 组件支持操作,这使得用户能够一次性数据行并执行批量处理。为了启用此功能,需在 `<el-table>` 标签内加入 `@selection-change="handleSelectionChange"` 属性监听器,并配置列定义中的 `{ type: 'selection', width: 50 }` 来显示每行前的择框[^1]。 ```html <template> <div class="app-container"> <el-button @click="deleteSelectedRows">Delete Selected Rows</el-button> <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange"> <el-table-column type="selection"></el-table-column> <!-- 其他列 --> </el-table> </div> </template> <script> export default { data() { return { multipleSelection: [], tableData: [ { date: '2016-05-03', name: 'Tom' }, { date: '2016-05-02', name: 'Jack' } ] }; }, methods: { handleSelectionChange(val) { this.multipleSelection = val; }, deleteSelectedRows(){ console.log(this.multipleSelection); } } }; </script> ``` #### 控制特定行不可被中 对于希望部分行无法参与的情况,可通过给定 `selectable` 函数参数控制哪些记录允许勾选。当遍历到某一行时,如果该函数返回 false,则对应位置上的复框将处于禁用状态[^2]。 ```javascript // 在 el-table 中添加 selectable 属性 <selectable(row, index){ // 假设 id=1 的行不允许被中 return row.id !== 1; }> ``` #### 动态切换单条目中状态 有时需要程序逻辑决定是否预先定某些项或是响应外部指令改变现有项集合的状态。此时可调用 `_this.$refs.multipleTable.toggleRowSelection(item, boolean)` 方法完成上述需求[^3]。 ```javascript toggleSelectItem(item, isSelected=true){ _this.$refs.multipleTable.toggleRowSelection(item, isSelected); } ``` #### 高级应用:树状层次关系下的全/半机制 针对存在父子节点关联的数据集展示场景下,实现子元素随父节点联动变化的效果尤为重要。借助于自定义 mixin 或者封装好的插件库可以帮助开发者更高效地达成目标。值得注意的是,在处理复杂交互模式的同时也要注意性能优化方面的工作[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值