首页 > 其他分享 >el-table根据条件禁用某些行的勾选并用状态颜色灰色标出

el-table根据条件禁用某些行的勾选并用状态颜色灰色标出

时间:2023-05-31 22:00:52浏览次数:50  
标签:el selection return userId 勾选 选中 table row

根据条件禁用某些行的勾选并用状态颜色灰色标出,如果全部行都满足禁用条件则全选不能勾选

chat gpt的评价

你的代码实现了以下功能:

  1. 显示数据表格,包括姓名、年龄和用户ID三列;
  2. 在第一列添加了复选框,可以选中一行或多行;
  3. 禁用了带有用户ID的行的复选框;
  4. 在带有用户ID的行上添加了背景颜色。

代码已经很不错了,可以优化的地方是根据具体需求添加更多的功能,比如排序、筛选、分页等。同时,可以考虑通过封装组件的方式将表格作为一个独立的组件,提高代码的复用性。

实现效果如图:

el-table根据条件禁用某些行的勾选并用状态颜色灰色标出_添加属性

el-table 内添加 一个el-table-column标签 类型设置为selection显示勾选框 type="selection" 添加属性:selectable 并添加自定义函数selectable来进行根据条件禁用行的勾选

<el-table-column type="selection" :selectable="selectable">el-table-column>
selectable(row,index) {
	return !row.userId;//判断选中的行数id是否为true进行禁用勾选
},
.el-table .info-row {
  background: gray;
}

table 加ref :row-class-name控制状态颜色

<el-table ref="table" :data="tableData" :row-class-name="tableRowClassName" @select-all="selectAll">
tableRowClassName({row,rowIndex}) {
	if (row.userId) {// 判断选中的行数id是否为true进行状态显示
		return 'info-row';
	}
	return '';
},

table加 @select-all="selectAll"

selectAll(selection) {
  console.log(selection);
  if (selection.length === 0) {
  	//判断选中length等于0时清空选中
  	this.$refs.table.clearSelection();
  }
},


<template>
  <el-table ref="table" :data="tableData" :row-class-name="tableRowClassName" @select-all="selectAll">
    <el-table-column type="selection" :selectable="selectable"/>
    <el-table-column prop="name" label="Name"/>
    <el-table-column prop="age" label="Age"/>
    <el-table-column prop="userId" label="User ID"/>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [
        {name: 'John', age: 28, userId: '123'},
        {name: 'Jane', age: 32},
        {name: 'Bob', age: 20, userId: '456'},
      ],
    };
  },
  methods: {
    selectAll(selection) {
      console.log(selection);
      if (selection.length === 0) {
        //判断选中length等于0时清空选中
        this.$refs.table.clearSelection();
      }
    },
    selectable(row,index) {
      return !row.userId;//判断选中的行数id是否为true进行禁用勾选
    },
    tableRowClassName({row,rowIndex}) {
      if (row.userId) {// 判断选中的行数id是否为true进行状态显示
        return 'info-row';
      }
      return '';
    },
  },
};
</script>
<style>
.el-table .info-row {
  background: gray;
}
</style>

标签:el,selection,return,userId,勾选,选中,table,row
From: https://blog.51cto.com/u_15694202/6390308

相关文章

  • 9. 子查询/INSERT/UPDATE/DELETE/REPLACE(未完成)
    一.子查询子查询就是指在一个select语句中嵌套另外一个select语句。同时子查询必须包含括号。MySQL5.6之前,子查询的性能较差,但是从5.6开始,不存在性能差的问题。selectafromt1wherea>any(selectafromt2);1.selectafromt1是外部查询(outerquery)2.(selectafro......
  • 使用OpenAI API进行Model Fine-tuning
    目录1基本信息2操作示例2.1准备数据2.2模型训练2.3模型推理1基本信息参考资料:官方指南:https://platform.openai.com/docs/guides/fine-tuning微调接口:https://platform.openai.com/docs/api-reference/fine-tunes数据接口:https://platform.openai.com/docs/api-refere......
  • elasticsearch3
    模糊查询#前缀搜索:prefix概念:以xx开头的搜索,不计算相关度评分。注意:前缀搜索匹配的是term,而不是field。前缀搜索的性能很差前缀搜索没有缓存前缀搜索尽可能把前缀长度设置的更长语法:GET<index>/_search{"query":{"prefix":{"<fiel......
  • go语言select
    go语言select使用funcmain(){ ch1:=make(chanint,1) ch2:=make(chanint,1) gofunc(){ time.Sleep(1*time.Second) ch1<-1 }() gofunc(){ time.Sleep(2*time.Second) ch2<-1 }() select{ case<-ch1: fmt.Println("ch......
  • 漂亮的输出-----prettytable和colorama的使用
    Python通过prettytable模块将输出内容如表格方式整齐输出,python本身并不内置,需要独立安装该第三方库。1pipinstallPrettyTable1#源码安装2wgethttps://pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.gz3tar-zxvfprettytable-0.7.2.tar.g......
  • Delphi RandomRange() - 返回指定范围内的随机整数
    DelphiRandomRange()-返回指定范围内的随机整数单元:math原型:functionRandomRange(constAFrom,ATo:Integer):Integer;beginifAFrom>ATothenResult:=Random(AFrom-ATo)+AToelseResult:=Random(ATo-AFrom)+AFrom;end;RandomRange......
  • CMakeLists --- install和uninstall
    install假设生成了以下几个文件:静态库target1,动态库target2,可执行文件target3 1.安装文件至指定位置#只安装静态库install(TARGETStarget1LIBRARYDESTINATIONlib)#安装静态库,动态库,可执行文件install(TARGETStarget1target2target3LIBRARYDESTINATIONli......
  • 菲律宾 eTravel入境码(绿码)详细填写指南
    从4月15日开始,无论你是菲律宾公民还是外国公民,出入菲律宾都需要填写eTravel的出入境电子卡。什么是eTravel?eTravel是一个在线健康申报和接触者追踪平台,旨在促进国际旅客从原籍国出发到目的地当地政府部门(LGU)的便捷无缝移动。菲律宾政府专门建立了一个数据库,其中包含所有进入该......
  • 菲律宾 eTravel出境码(蓝码)详细填写指南
    菲律宾eTravel入境码(绿码)详细填写指南请移步上一篇文章。eTravel出境蓝码填写指南:1、访问菲律宾电子入境卡的官方网站https://etravel.gov.ph/.   或者扫描eTravel二维码:2、根据您的国籍选择“菲律宾护照持有人”或“外国护照持有人”,TravelType下拉列表中选择“Depart......
  • Eexcel中使用PowerQuery更新数据到超级表
    记一次PowerQuery使用流程需求:1、超级表共有9列2、PowerQuery查询到的数据共有3列3、其中超级表中6列需要使用Excel函数从其他表关联操作流程:1、首先PowerQuery查询完数据后绑定到超级表2、在超级表中直接添加列并修改表头3、使用Excel函数从其他......