当前位置: 首页 > 工具软件 > rowy > 使用案例 >

修改el-table的样式,使用row-style/header-row-style不生效问题

鄢选
2023-12-01
<template>
  <el-table
    :data="tableData"
    :row-style="tableRowStyle"
    :header-cell-style="tableHeaderColor">
    <el-table-column
      property="name"
      label="姓名"
      width="120">
    </el-table-column>
    <el-table-column
      property="age"
      label="年龄"
      width="120">
    </el-table-column>
    <el-table-column
      property="sex"
      label="性别"
      width="120">
    </el-table-column>
  </el-table>
</template>
<script>
export default {
  name: 'table',
  data() {
    return {
      tableData: [
        {
          name: 'Cindy',
          age: 20,
          sex: '女'
        },
        {
          name: 'Mila',
          age: 22,
          sex: '女'
        },
        {
          name: 'Bob',
          age: 23,
          sex: '男'
        }
      ]
    }
  },
  created() {},
  methods: {
    // 修改table tr行的背景色
    tableRowStyle({ row, rowIndex }) {
      return 'background-color: pink'
    },
    // 修改table header的背景色
    tableHeaderColor({ row, column, rowIndex, columnIndex }) {
      if (rowIndex === 0) {
        return 'background-color: lightblue;color: #fff;font-weight: 500;'
      }
    }
  }
}
</script>

最近在使用vue+element-ui开发中遇到需要改变当前行样式的需求,于是就是用官方文档里边的row-style,发现不生效

 <el-table
    :data="tableData"
    border
    :row-style='rowstyles'
    style="width: 100%">
    <el-table-column
      prop="date"
      label="日期"
      width="180">
    </el-table-column>
    <el-table-column
      label="姓名"
      width="180">
    </el-table-column>
    <el-table-column
      label="地址">
    </el-table-column>
  </el-table>
  methods: {
    rowstyles({row,rowIndex}){
我一开始写的是
   return 'color:red';
然后发现怎么都不生效


后来改成一对象的形式返回就可以了。
          let styleJson = {
            "display":"none"
          };
         return styleJson
    },
}

参考:解决element-ui中table表格row-style改变当前行样式失效问题

 类似资料: