«

element 表格el-table改变hover背景颜色及选中改变背景颜色

yang 发布于 阅读:257 项目


表格数据

    <!-- 表格部分 -->
    <el-table
      :row-style="isRed"
      @selection-change="selected"
      :data="tableData"
      style="width: 100%"
      border
      @row-dblclick="ImfoClick"
      :headerCellStyle="{ backgroundColor: '#f2f4fa' }">
      <template #empty><el-empty description="暂无数据" /></template>
      <el-table-column type="selection" width="55" align="center" fixed> </el-table-column>
      <el-table-column prop="suppliesNumber" label="物料编号" width="200" align="center" show-overflow-tooltip fixed> </el-table-column>
      <el-table-column prop="suppliesName" label="名称" align="center" show-overflow-tooltip fixed width="200">
        <template slot-scope="scope">
          <span style="color: #1677ff;font-size: 13px;">{{ scope.row.suppliesName }}</span>
        </template>
      </el-table-column>
      <el-table-column prop="amount" label="数量" align="center" show-overflow-tooltip>
        <template slot-scope="scope">
          {{  scope.row.amount < 0 ? 0 : scope.row.amount  }}
        </template>
      </el-table-column>

      <el-table-column prop="specification" label="规格" align="center"> </el-table-column>
      <el-table-column prop="batchNumber" label="批次号" align="center"> </el-table-column>
      <el-table-column prop="suppliesUnit" label="单位" show-overflow-tooltip align="center"> </el-table-column>
      <!-- <el-table-column prop="validTime" label="有效期" show-overflow-tooltip :formatter="validTimeDate" width="120" align="center"> -->
      <el-table-column prop="validTime" label="有效期" show-overflow-tooltip width="120" align="center">
        <template slot-scope="scope">
          <span v-if="scope.row.validTime">
            {{ $moment(scope.row.validTime).format("YYYY-MM-DD") }}
          </span>
          <span v-else>-</span>
          <!-- 可以用一个破折号表示无数据 -->
        </template>
      </el-table-column>
      <el-table-column prop="suppliesDetails" label="描述" show-overflow-tooltip width="220" align="center">
        <template slot-scope="scope">
          <div class="custom-supplies" v-text="stripHtml(scope.row.suppliesDetails)"></div>
        </template>
      </el-table-column>
      <!-- <el-table-column prop="createTime" label="创建时间" :formatter="startTimeDate" show-overflow-tooltip width="120" align="center"> -->
      <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip width="120" align="center">
        <template slot-scope="scope">
          <span v-if="scope.row.createTime">
            {{ $moment(scope.row.createTime).format("YYYY-MM-DD") }}
          </span>
          <span v-else>-</span>
          <!-- 可以用一个破折号表示无数据 -->
        </template>
      </el-table-column>
      <el-table-column prop="createName" label="创建人" align="center"> </el-table-column>
    </el-table>

hover背景颜色

表格中没用fixed

<style lang="scss" scoped>
/* 鼠标移入某行时的背景色 不添加fixed时可用 */
::v-deep .el-table__body {
  tr:hover > td {
    background-color: #fffaf1 !important;
  }
}
</style>

表格中使用了fixed

<style lang="scss">
/*鼠标移入某行时的背景色 添加fixed时可用*/
.el-table__body .el-table__row.hover-row td {
  background-color: #fffaf1 !important; /* 整行背景色 */
}
</style>

注意:使用了fixed的时候不可写在'scoped'下

选中改变背景颜色

selectedArrData: [], // 把选择到的当前行的id存到数组中

 methods: {
        // 复选框被选中的事件
    selected(row) {
      // console.log(row);//点击的那行数据
      this.selectedArrData = row;
    },

    isRed({ row }) {
      const checkIdList = this.selectedArrData.map((item) => item.id);
      if (checkIdList.includes(row.id)) {
        return {
          backgroundColor: "#e6f4ff"
          // color: "red"
        };
      }
    },
 }

版权所有:微4e
文章标题:element 表格el-table改变hover背景颜色及选中改变背景颜色
除非注明,文章均为 微4e 原创,请勿用于任何商业用途,禁止转载

推荐阅读:


扫描二维码,在手机上阅读
请先 登录 再评论