ElementUI Table 组件只允许全选或不选

2021-11-30  本文已影响0人  ZT_Story

需求

el-table组件,要么全部选择可选择的row,要么就全部取消,不可操作row

UI表现

row中的check-box置灰,但是可由js控制check-box的select


就是这个效果

实现

该功能可以自己实现,这里展示仅凭el-table组件来实现

  1. 置灰row的check-box,利用selectable方法
function isSelectable() {
    return false;
}
  1. 监听全选按钮,利用select-all
  2. select-all事件结束时,按照回调参数selections的内容来做全选,这里全选采用的是toggleRowSelection方法,需要和table的数据源配合使用
function handleSelectAll(selection) {
      // 防止selection响应式变化引发的bug
      const count = selection.length;
      this.tabelData.forEach((data) => {
          if (需要选中逻辑) {
               this.$refs.table.toggleRowSelection(ticket, !count);
           }
     });
}

ps:toggleAllSelection该方法在selectable为false的情况下是无法选中row的

上一篇下一篇

猜你喜欢

热点阅读