vue3使用el-table实现新旧数据对比的代码详解

 更新时间:2023年12月03日 10:17:42   作者:许个愿~  
这篇文章主要为大家详细介绍了在vue3中使用el-table实现新旧数据对比,文中的示例代码讲解详细,具有一定的参考价值,需要的小伙伴可以参考一下

效果图(不同数据用红色字体标出)

直接上代码

<template>
  <el-dialog v-model="dialogVisible" title="数据对比" width="40%" :before-close="handleClose">
    <div class="c-table">
      <el-table :data="tableDataRecords" border max-height="700px">
        <el-table-column width="160px" prop="type" label=""></el-table-column>
        <el-table-column prop="column1" :label="name.name1"> </el-table-column>
        <el-table-column prop="column2" :label="name.name2">
          <template #default="scope">
            <div v-if="scope.row.column1 == scope.row.column2">{{ scope.row.column2 }}</div>
            <div style="color: red" v-else>{{ scope.row.column2 }}</div>
          </template>
        </el-table-column>
 
        <template #empty>
          <img src="@/assets/images/common/no-data.png" alt="" width="179" />
        </template>
      </el-table>
    </div>
  </el-dialog>
</template>
 
<script setup>
import { ref } from 'vue'
const name = {
  name1: '旧数据',
  name2: '新数据'
}
const obj1 = ref()
const obj2 = ref()
const obj3 = ref()
 
const objChange = () => {
  console.log(obj1.value, obj2.value, obj3.value)
  for (const key in obj3.value) {
    if (obj3.value.hasOwnProperty(key)) {
      const record = {
        type: obj3.value[key] ?? '--',
        column1: obj2.value[key] ?? '--',
        column2: obj1.value[key] ?? '--'
      }
      tableDataRecords.value.push(record)
    }
  }
}
const tableDataRecords = ref([])
// 打开弹出层
const dialogVisible = ref(false)
const compBtn = async (row, fileds) => {
  tableDataRecords.value = []
  dialogVisible.value = true
  obj1.value = { a: '1', b: '2', c: '3' }
  obj2.value = { a: '1', b: '2', c: '4' }
  obj3.value = { a: '数据1', b: '数据2', c: '数据3' }
  objChange()
}
defineExpose({
  compBtn
})
</script>
 
<style lang="scss" scoped></style>

以上就是vue3使用el-table实现新旧数据对比的代码详解的详细内容,更多关于vue3 el-table新旧数据对比的资料请关注脚本之家其它相关文章!

相关文章

  • Vue使用mounted和created时,this无法指向data中的数据问题

    Vue使用mounted和created时,this无法指向data中的数据问题

    这篇文章主要介绍了Vue使用mounted和created时,this无法指向data中的数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Vue实施重新发布和软件热更新的经验分享

    Vue实施重新发布和软件热更新的经验分享

    在Web应用的开发周期中,版本管理和软件热更新是一个不可或缺的话题,随着Vue.js框架的流行,越来越多的应用程序选择使用Vue来构建前端,本文将探讨在Vue应用中实施重新发布和热更新的最佳实践,需要的朋友可以参考下
    2024-09-09
  • vue.config.js中devServer.proxy配置说明及配置正确不生效问题解决

    vue.config.js中devServer.proxy配置说明及配置正确不生效问题解决

    Vue项目devServer.proxy代理配置详解的是一个非常常见的需求,下面这篇文章主要给大家介绍了关于vue.config.js中devServer.proxy配置说明及配置正确不生效问题解决的相关资料,需要的朋友可以参考下
    2023-02-02
  • 一文带你搞懂Vue3 defineModel中的双向绑定

    一文带你搞懂Vue3 defineModel中的双向绑定

    随着vue3.4版本的发布,defineModel也正式转正了,它可以简化父子组件之间的双向绑定,是目前官方推荐的双向绑定实现方式,下面就跟随小编一起深入了解一下defineModel的使用吧
    2024-02-02
  • Vue-Luckysheet的使用方法及遇到问题解决方法

    Vue-Luckysheet的使用方法及遇到问题解决方法

    Luckysheet ,一款纯前端类似excel的在线表格,功能强大、配置简单、完全开源,这篇文章主要介绍了Vue-Luckysheet的使用方法,需要的朋友可以参考下
    2022-08-08
  • 超实用vue中组件间通信的6种方式(最新推荐)

    超实用vue中组件间通信的6种方式(最新推荐)

    组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互进行直接的引用,所以组件间的相互通信是非常重要的,这篇文章主要介绍了vue中组件间通信的6种方式,需要的朋友可以参考下
    2022-11-11
  • Vue项目前端部署详细步骤(nginx方式)

    Vue项目前端部署详细步骤(nginx方式)

    Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,是部署前端项目的首选,这篇文章主要给大家介绍了关于Vue项目前端部署(nginx方式)的相关资料,需要的朋友可以参考下
    2023-09-09
  • Vue3中依赖注入provide、inject的使用

    Vue3中依赖注入provide、inject的使用

    这篇文章主要介绍了Vue3中依赖注入provide、inject的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue做移动端适配最佳解决方案(亲测有效)

    vue做移动端适配最佳解决方案(亲测有效)

    这篇文章主要介绍了vue做移动端适配最佳解决方案(亲测有效),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解jenkins自动化部署vue

    详解jenkins自动化部署vue

    这篇文章主要介绍了jenkins自动化部署vue,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05

最新评论