Element ui表格隔行变色

官方文档给出一个stripe属性可以创建带斑马纹的表格

<el-table :stripe="true"> </el-table>	//可以这样写
<el-table stripe"> </el-table>		//可以直接这样写

这样创建出来的表格也有隔行效果但是不明显。

官方文档还给出了带状态的表格,通过row-class-name 属性来创建。
主要代码如下:

<template>
  <el-table
    :row-class-name="tableRowClassName">
  </el-table>
</template>
<style>
  .el-table .warning-row {
     
    background: oldlace;//这里可以修改颜色
  }

  .el-table .success-row {
     
    background: #f0f9eb;//这里可以修改颜色
  }
</style>
<script>
  export default {
     
    methods: {
     
      tableRowClassName({
     row, rowIndex}) {
     
        if (rowIndex === 1)  //=>这里可以改成 rowIndex%2=== 1,后面直接else即可达到隔行变色效果。
        {
      
          return 'warning-row';
        } else if (rowIndex === 3) {
     
          return 'success-row';
        }
        return '';
      }
    }
</script>

需要注意的是,如果已经设置了stripe属性,再设置row-class-name属性,会造成斑马纹颜色的改变,同样达不到明显的隔行变色效果,可以说stripe和row-class-name有一点小冲突,去掉stripe属性即可。算是个小陷阱吧,让我折腾了半天。

你可能感兴趣的:(Element,ui,vue)