Vue 给el-table的某一行添加样式

背景

最近在遇到一个需求:一个列表,每一条数据都有一个status状态,只有status完成,才能点击展开expand,否则不能出现expand

在这里插入图片描述
详见示例:https://codepen.io/shunzizhan/pen/YbMOwK

代码实现

可以通过指定 Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class,表明该行处于某种状态。

设置拥有该样式的行,expand为display:none

.not-finish .el-table__expand-column .cell{
   display: none;
}

给行添加样式

<el-table
    :data="tableData"
    :row-class-name="tableRowClassName"
    style="width: 100%">
    ...
</el-table>

调用行回调,结合对应的状态,给行添加样式

tableRowClassName({ row }) {
  if (row.status !== 0) {
    return 'not-finish';
  }
  return '';
},

参考文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章