首页 > 其他分享 >selectable方法

selectable方法

时间:2023-11-14 15:01:42浏览次数:33  
标签:return DisableSelection 禁用 复选框 全选 selectable 方法 row

复选框框架:通过调用selectable方法,进行禁用复选框。 <el-table v-loading="loading" :data="studentList" @selection-change="handleSelectionChange"> <\el-table> 1.指定行禁用:

//复选框禁用
    selectable(row,rowIndex) {
      //索引是从0开始,条件1是指只有第2行数据不被禁用  
      if(rowIndex == 1){
        return true;  //不禁用
      }else {
        return false;  //禁用
      }
    }

2.条件禁用:

//复选框禁用
    selectable(row,rowIndex) {
      //只有姓名【zhang】不被禁用
      if (row.studentName == "zhang") {
        return true;  //不禁用
      }else {
        return false;  //禁用
      }
    }

问题点:当条件数据全被禁用时,全选按钮不是禁用的状态。

//复选框全部禁用
    selectable(row,rowIndex) {
      return false;
    }

实现:复选框全被禁用时,全选按钮将被隐藏

回避做法:加了一个:header-cell-class-name属性,通过调用cellClass方法,当全被禁用时,全选按钮将被隐藏。

<!-- 复选框禁用 -->
<el-table 
v-loading="loading" 
:data="studentList" 
:header-cell-class-name="cellClass"
@selection-change="handleSelectionChange"
>
    <el-table-column 
    type="selection" 
    width="55" 
    align="center"
    :selectable="selectable"
    />
 
    <el-table-column label="编号" align="center" prop="studentId" />

实现:定义一个参数DisableSelection:true,实现全选禁用。

export default {
  name: "Student",
  data() {
    return {
      // 全选按钮隐藏
      DisableSelection:true,
    }
  }
}

实现:全选按钮的隐藏样式:

<style>
  .el-table .DisableSelection .cell .el-checkbox__inner{
          display: none;
          position: relative;
        }
  .el-table .DisableSelection .cell:before{
          content: "";
          position: absolute;
  }
</style>

实现:追加全选按钮隐藏函数cellClass,启用隐藏样式:

//全选按钮隐藏
    cellClass(row){
      row.length
        console.log(row)
          if(this.DisableSelection){
            if (row.columnIndex === 0) {
              return 'DisableSelection'
            }
          }   
    },

实现:复选框当存在不禁用时,重置DisableSelection属性值:

//复选框禁用
    selectable(row,rowIndex) {
      //所有行都被禁用
      if(rowIndex < 0){
        this.DisableSelection = false && this.DisableSelection;
        return true;  //不禁用
      }else {
        return false;  //禁用
      }
    },

效果:全被禁用时,全选按钮被隐藏

实现:存在可选按钮场合:前两行可选。

//复选框禁用
    selectable(row,rowIndex) {
      //前两行可选的状态
      if(rowIndex < 2){
        this.DisableSelection = false && this.DisableSelection;
        return true;  //不禁用
      }else {
        return false;  //禁用
      }
    },

效果:当存在可选时,全选按钮被表示出来

标签:return,DisableSelection,禁用,复选框,全选,selectable,方法,row
From: https://blog.51cto.com/u_16351946/8369502

相关文章

  • js实现大文件上传——分片上传方法
    当前端在开发过程中遇到上传文件需求,如果是上传头像、图片小文件之类的,可以正常按上传流程处理。但是当遇到上传大文件需求时,几个G或者十几个G,那么需要将这么大的文件分割成许多小片段分别上传,这种实现思路称为分片上传。实现分片上传,精髓就是将文件分割成小片段,此时我们需要用到......
  • 使用JWT、拦截器与ThreadLocal实现在任意位置获取Token中的信息,并结合自定义注解实现
    1.简介1.1JWTJWT,即JSONWebToken,是一种用于在网络上传递声明的开放标准(RFC7519)。JWT可以在用户和服务器之间传递安全可靠的信息,通常用于身份验证和信息交换。声明(Claims):JWT包含一组称为声明的信息,声明描述了一些数据。有三种类型的声明:注册声明(RegisteredClaims):这是......
  • 【C 语言基础】double类型大小比较的方法——以Java为例
    问题在Java中,int类型数据的大小比较可以使用双等号,double类型则不能使用双等号比较大小(0,0==0.0 是不可以的),那若使用double类型时怎么进行比较呢? 方法(1)转换为字符串如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助string的equals方法来间接......
  • 独立站邮件营销方法?蜂邮EDM邮件发信效果?
    在当今数字化时代,独立站邮件营销成为企业推广的一项重要策略。蜂邮EDM邮件发信作为其中一种工具,其效果备受关注。本文将深入探讨独立站邮件营销的方法,并评估蜂邮EDM邮件发信的实际效果。1.初识独立站邮件营销独立站邮件营销是一种通过自建邮件系统,针对特定目标受众进行推广的策略......
  • 独立站邮件营销方法?蜂邮EDM邮件发信效果?
    在当今数字化时代,独立站邮件营销成为企业推广的一项重要策略。蜂邮EDM邮件发信作为其中一种工具,其效果备受关注。本文将深入探讨独立站邮件营销的方法,并评估蜂邮EDM邮件发信的实际效果。1.初识独立站邮件营销独立站邮件营销是一种通过自建邮件系统,针对特定目标受众进行推广的策略......
  • typora里输入上标的方法
    首先在偏好设置-markdown里勾选上标和下标 Subscript(下标)要使用此功能,请先在Preference 面板->Markdown选项卡中启用它。然后,使用~包装下标内容 Superscript(上标)要使用此功能,请先在Preference面板->Markdown选项卡中启用它。然后,使用 ^来包装上标内容......
  • 当前不会命中断点 未加载该文档 解决方法总结
    1.工具->选项->调试->常规 2.项目属性页 3.项目属性页 4.项目属性页 ......
  • NLP文本生成全解析:从传统方法到预训练完整介绍
    本文深入探讨了文本生成的多种方法,从传统的基于统计和模板的技术到现代的神经网络模型,尤其是LSTM和Transformer架构。文章还详细介绍了大型预训练模型如GPT在文本生成中的应用,并提供了Python和PyTorch的实现代码。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构......
  • 有什么方法可以改善CRM实施投资回报吗?
     数据统计显示,几乎70%以上CRM客户管理系统项目的投资回报是负数。这意味着超过半数的CRM项目的结果是失败的。那么我们有什么方法可以改善CRM实施投资回报吗?当然有,下面我们就来说一说。如何改善CRM实施投资回报首先,您选择的CRM系统由一系列应用和功能组成。但是,请注意,这些应......
  • NLP文本生成全解析:从传统方法到预训练完整介绍
    本文深入探讨了文本生成的多种方法,从传统的基于统计和模板的技术到现代的神经网络模型,尤其是LSTM和Transformer架构。文章还详细介绍了大型预训练模型如GPT在文本生成中的应用,并提供了Python和PyTorch的实现代码。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、......