• el-table实现单选和隐藏全选框和回显数据


    0 效果

    在这里插入图片描述

    1 单选

    <el-table ref="clientTableRef" @selection-change="clientChangeHandle">
      <el-table-column fixed type="selection" width="50" align="center" />
      <el-table-column label="客户名称" align="center" prop="clientName" />
      <el-table-column label="客户类型" align="center" prop="clientTypeName" />
      <el-table-column label="业务类型" align="center" prop="businessTypeName" />
      <el-table-column label="区域" align="center" prop="regionDetail" />
    </el-table>
    clientChangeHandle(selection) {
      this.clientIds = []
      if (selection.length > 1) {
        this.$refs.clientTableRef.clearSelection()
        this.$refs.clientTableRef.toggleRowSelection(selection[selection.length - 1])
      }
      this.clientIds = selection[selection.length - 1] ? [selection[selection.length - 1]] : []
    },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2 隐藏全选框

    1. 通过修改样式不起作用

    .el-table__header-wrapper .el-checkbox {
      visibility: hidden; // 不起作用
      display: none; // 不起作用
    }
    
    • 1
    • 2
    • 3
    • 4

    2. 动态添加样式

    <el-table :header-cell-class-name="hideSelectAll">
      <el-table-column fixed type="selection" width="50" align="center" />
      <el-table-column label="客户名称" align="center" prop="clientName" />
      <el-table-column label="客户类型" align="center" prop="clientTypeName" />
      <el-table-column label="业务类型" align="center" prop="businessTypeName" />
      <el-table-column label="区域" align="center" prop="regionDetail" />
    </el-table>
    hideSelectAll({ row, cloumn, rowIndex, columnIndex }) {
      if (columnIndex === 0) {
        return "hideSelectAll";
      }
    }
    ::v-deep {
        .hideSelectAll .cell {
           visibility: hidden;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3 回显

    回显数据要在el-table中添加两个属性
    在这里插入图片描述

    if (this.clients.length != 0) {
      this.clientTableData.forEach(row => {
        if (row.id == this.clients[0].id) {
          this.$refs.clientTableRef.toggleRowSelection(row, true);
        }
      })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    计算机组成原理_Cache写策略
    opencv+vs studio环境配置
    【面试宝典】Java八股文之Redis面试题
    一点思考|关于「引领性研究」的一点感悟
    创建Django项目_first_Django(下)
    opencv_5_图像像素的算术操作
    【问题】在安装torchvision的时候,会自动安装torch?
    线段树板子4
    Vue3常用API用法
    [附源码]SSM计算机毕业设计疫情状态下病房管理平台JAVA
  • 原文地址:https://blog.csdn.net/Gpointy/article/details/134314564