记录vue3 Ant-Design-Vue table 改变某一单元格样式

Ant-Design-Vue table中使用customCell自定义单元格样式

记录一下表格。customCell的使用方式
在ant-design-vue中的table中有个根据某种规则把那个单个数据标红的业务需求

官方文档中:
customRow 用法 #
//customCell 设置单元格属性 Function(record, rowIndex, column)
适用于 customRow customHeaderRow customCell customHeaderCell。遵循Vue jsx语法。

使用
首先在html中引入,把customCell绑定自己自定义的一个方法renderTdBackground()

<a-table
  bordered
  :columns="columns"
  :dataSource="dataSource"
  :pagination="false"
  :customCell="renderTdBackground"
  :scroll="{ x : 'max-contennt' }"
  >
</a-table>

表格中只有单列需要自定义单元格

在columns中需要的那一列定义customCell

const columns = [
...
{ 
  title: '名称',
  dataIndex: 'name', 
  key:'name',
  align: "center", 
  width: 100, 
  customCell:this.renderTimeBackground
},{ 
  title: '指标',
  dataIndex: 'zhibiao', 
  key:'zhibaio',
  align: "center", 
  width: 100, 
},
...

在methods中定义renderTdBackground()和renderTimeBackground()方法

rendersjbBackground(record){
	return this.renderTdBackground(record)
},

处理自定义单元格

renderTdBackground(record){
 if(record.name == 1 ){
      return {
        style: {
           //可以设置任何你想要的样式 
          'background-color': 'rgb(255,150,150)',
        },
      }
  }
},

表格中有多列需要自定义单元格样式

在columns中需要的那一列定义customCell

const columns = [
...
{ 
  title: '名称',
  dataIndex: 'name', 
  key:'name',
  align: "center", 
  width: 100, 
  customCell:this.renderTimeBackground
},{ 
  title: '指标',
  dataIndex: 'zhibiao', 
  key:'zhibaio',
  align: "center", 
  width: 100, 
  customCell:this.renderTimeBackground
},
...

在methods中定义renderTdBackground()和renderTimeBackground()方法

rendersjbBackground(record, rowIndex, column){
	return this.renderTdBackground(record)
},

处理自定义单元格

renderTdBackground(record, rowIndex, column){
  if(flag == 1){
    if(record.timeOver == 1 && column.name=='name'){
      return {
        style: {//可以设置任何你想要的样式 
          'background-color': 'rgb(25,250,250)',
        },
      }
    }
  }
},

效果如下
在这里插入图片描述
纯属记录自己开发中遇到的问题 如有更优方案 还望不吝赐教

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值