• 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
  • 相关阅读:
    深圳雷龙LSYT201B语音控制模组
    Real-Time Rendering——9.6 Microgeometry微观几何
    【算法笔记】三种背包问题——背包 DP
    Java编程练习题Demo41-Demo50
    C# CodeFormer Inpainting 人脸填充
    怎么把ogg转mp3格式?
    推荐一个图像生成开源项目——Fooocus
    力扣第200题 岛屿数量 C++ dfs bfs 深搜和广搜 附Java代码
    信钰证券:6G概念强势拉升,通宇通讯、世嘉科技涨停,硕贝德等走高
    Combiner合并
  • 原文地址:https://blog.csdn.net/Gpointy/article/details/134314564