首页 > 解决方案 > Vue - 我如何设置 Element-UI 数据表的样式?

问题描述

我正在尝试将元素 ui 数据表添加到我的项目中,但我很难弄清楚如何更改表格的颜色。这是我所拥有的:

<template>
  <el-table
    :data="tableData.filter(data => !search || data.name.toLowerCase().includes(search.toLowerCase()))"
    style="width: 100%">
    <el-table-column
      label="Date"
      prop="date">
    </el-table-column>
    <el-table-column
      label="Name"
      prop="name">
    </el-table-column>
    <el-table-column
      align="right">
      <template slot="header" slot-scope="scope">
        <el-input
          v-model="search"
          size="mini"
          placeholder="Type to search"/>
      </template>
      <template slot-scope="scope">
        <el-button
          size="mini"
          @click="handleEdit(scope.$index, scope.row)">Edit</el-button>
        <el-button
          size="mini"
          type="danger"
          @click="handleDelete(scope.$index, scope.row)">Delete</el-button>
      </template>
    </el-table-column>
  </el-table>
</template>

<style>

.thead {
  color: red;
}
.el-table thead {
  color: red;
}

</style>

<script>

export default {

  props:{


  },

  data() {
      return {
        tableData: [{
          date: '2016-05-03',
          name: 'Tom',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-02',
          name: 'John',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-04',
          name: 'Morgan',
          address: 'No. 189, Grove St, Los Angeles'
        }, {
          date: '2016-05-01',
          name: 'Jessy',
          address: 'No. 189, Grove St, Los Angeles'
        }],

        search: '',
      }
    },

    methods: {
      handleEdit(index, row) {
        console.log(index, row.name);
      },
      handleDelete(index, row) {
        console.log(index, row.name);
      }
    },
  

}

</script>

我在这里尝试的一切似乎对桌子没有任何影响,没有任何变化。我也尝试过background-color或其他课程,例如.el-table但没有任何效果。任何形式的建议表示赞赏

标签: cssvue.jsvuejs2vue-componentelement-ui

解决方案


设置表格背景颜色不起作用,因为行在默认情况下具有显示在顶部的背景颜色。数据表为样式提供了多个道具,或者您可以直接在 CSS 中定位行。无论哪种情况,您似乎都需要!important修饰符,或者它不会覆盖默认样式:

选项 1:使用类似的道具row-class-name

<el-table
  row-class-name="myrow"
>
.myrow {
  background-color: red !important;
}

tr选项 2:直接使用(或td,th等)修改 CSS

.el-table tr {
  background-color: red !important;
}

!important(或者,如果这对您很重要,您可以使用更具体的选择器来避免直接修改的需要。)


推荐阅读