如何根据条件将类映射到元素 UI 表中的特定行单元格?

Fai*_*yed 4 vue.js vuejs2 element-ui

<el-table :data="confirmedAppointments" highlight-current-row style="width: 100%">
                  <el-table-column type="index" width="50">
                  </el-table-column>
                  <el-table-column prop='token' label="Token" width="180">
                  </el-table-column>
                  <el-table-column prop='date'  label="Appoint. date" width="180">
                  </el-table-column>
                  <el-table-column prop='ROV' label="ROV" width="180">
                  </el-table-column>
                  <el-table-column prop='speciality' label="Speciality" width="180">
                  </el-table-column>
                  <el-table-column prop='time' label="Appoint. time" width="180">
                  </el-table-column>
                  <el-table-column prop='status' label="Status" class="red" v-bind:class="{ 'green': status == 'Accepted' }">
                  </el-table-column>

              </el-table>
Run Code Online (Sandbox Code Playgroud)

我正在使用与动态数据映射的 Element UI 表组件。在最后一列中,我的状态显示 Approved 或 Rejected 文本。

那么如何根据单元格值将特定类设置为特定单元格。默认情况下,该类应为红色,但当状态值为 Approved 时,该类应为绿色。

小智 5

我对元素 ui 不太熟悉,但与我通过向 el-table 添加 row-class-name 解决的问题非常相似

tableRowClassName({ row }) {

    if (row.status === 'Appproved') {
        return 'success-row'
      } else if (row.status === 'Rejected') {
        return 'warning-row'
      }
      return ''
    },
Run Code Online (Sandbox Code Playgroud)
  .el-table .warning-row td:last-child {  (or just .el-table td:last-child (as default color))

    background: red;
  }

  .el-table .success-row td:last-child {

    background: green;
  }
Run Code Online (Sandbox Code Playgroud)
< el-table :row-class-name="tableRowClassName">
Run Code Online (Sandbox Code Playgroud)


Mar*_*les 5

查看单元格类名称表属性而不是行类名称。它可以访问行和列数据以及行和列索引。您应该能够自定义类,从而为每个单独的单元格设置样式。