el-table列表给指定列的文字添加样式,但是列是动态的

功能要求:需要给el-table中的其中一列的新增颜色(不同类型不同颜色),但是这列的位置是根据不同用户变化的,用户A登录在第二列、用户B登录在第七列。

<el-table :data="listData" v-loading="dataLoading" :cell-class-name="myclass"></el-table>

解决方法:

myclass({ row, column, rowIndex, columnIndex }) {
   //在需要属性中判断
  if (column.property === 'type') {
    //需要拿到id="el-table_1_column_1" 最后的数字-1就是当前的位置
    const columnArr = column.id.split('_')
    let currentIndex = Number(columnArr[columnArr.length - 1]) - 1 //获取type属性位置

    //根据不同类型判断
    if (row.type == '语文' && columnIndex === currentIndex) {
       return 'color1'
    } else if (row.type == '英文' && columnIndex === currentIndex) {
       return 'color2'
    } else if (row.type == '数学' && columnIndex === currentIndex) {
       return 'color3'
    } else if (row.type == '体育' && columnIndex === currentIndex) {
       return 'color4'
    } else if (row.type == '自习' && columnIndex === currentIndex) {
       return 'color5'
    }
  }
}
以上是编程学习网小编为您介绍的“el-table列表给指定列的文字添加样式,但是列是动态的”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。

本文标题为:el-table列表给指定列的文字添加样式,但是列是动态的

基础教程推荐