• 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
  • 相关阅读:
    mysql update更新数据时null字段是否更新进数据库总结
    安卓添加系统服务接口以及测试用例
    Go 微服务开发框架 DMicro 的设计思路
    c语言基础(转义字符、printf()、scanf()详解、文件使用方法)
    最小花费——最短路
    自回归策略是什么
    javascript:如何在 array.reduce 中返回一个对象?
    Windows Terminal远程连接阿里云
    IDEA自带的HTTP Client 接口调试工具
    【spring cloud】(四)服务网关——gateway
  • 原文地址:https://blog.csdn.net/Gpointy/article/details/134314564