2 つの EL テーブルを比較すると、異なるデータの背景が赤に設定されます

1. 要件: 2 つのテーブル データを比較し、以下の図に示すように、異なるコンテンツに赤い背景を追加します。
ここに画像の説明を挿入

2. コードは次のとおりです

<template>
  <div>
    <el-table :data="tableData1" :cell-style="compareData">
      <el-table-column prop="name" label="姓名"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
    </el-table>
    <el-table :data="tableData2" :cell-style="compareData">
      <el-table-column prop="name" label="姓名"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
    
    
  data() {
    
    
    return {
    
    
      tableData1: [
        {
    
     name: '张三', age: 18 },
        {
    
     name: '李四', age: 20 },
      ],
      tableData2: [
        {
    
     name: '张三', age: 18 },
        {
    
     name: '王五', age: 20 },
      ],
    };
  },
  methods: {
    
    
    compareData({
    
     row, rowIndex, column, columnIndex }) {
    
    
    //比较两个表格中相同位置的单元格数据。如果数据不同,将背景颜色设置为红色
    //仅适用于具有相同结构和行数的表格
      const cellData1 = this.tableData1[rowIndex][column.property];
      const cellData2 = this.tableData2[rowIndex][column.property];
      if (cellData1 !== cellData2) {
    
    
        return {
    
     backgroundColor: 'red' };
      }
    },
  },
};
</script>

おすすめ

転載: blog.csdn.net/DevelopmentW/article/details/130848999