news 2026/3/26 8:13:22

Vue:使用v-if v-else加载两个el-table 在切换时,会出现数据在家混乱 数据加载不全的情况

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue:使用v-if v-else加载两个el-table 在切换时,会出现数据在家混乱 数据加载不全的情况

目录

  • 一、 出现场景
  • 二、 出现原因
  • 三、解决方案

一、 出现场景

使用v-if v-else加载两个el-table 在切换时,会出现数据在家混乱 数据加载不全的情况

二、 出现原因

  • Vue的虚拟DOM复用机制:v-if/v-else 切换时,Vue 会尝试复用相同标签的 DOM 元素来提升性能,导致 el-table 的实例没有被完全重新初始化。
  • el-table 内部的数据渲染异步性:表格的列、数据渲染是异步的,复用 DOM 后表格的状态没有被重置,从而出现数据混乱。

三、解决方案

给两个表格添加唯一的 key 属性:通过给每个 el-table 设置唯一的 key,告诉 Vue 这是两个不同的元素,不要复用它们的 DOM,从而让表格每次切换时都重新渲染,避免数据混乱。

<template><div><!-- 切换按钮 --><el-button@click="toggleTable">切换表格</el-button><!-- 表格1:添加唯一key --><el-tablev-if="showTable1":key="'table1'"<!--唯一key-->:data="tableData1" border style="width: 100%; margin-bottom: 20px;" ><el-table-columnprop="name"label="姓名"/><el-table-columnprop="age"label="年龄"/></el-table><!-- 表格2:添加唯一key --><el-tablev-else:key="'table2'"<!--唯一key-->:data="tableData2" border style="width: 100%;" ><el-table-columnprop="id"label="编号"/><el-table-columnprop="product"label="产品名称"/></el-table></div></template><script>exportdefault{data(){return{showTable1:true,// 表格切换标识// 表格1数据tableData1:[{name:'张三',age:20},{name:'李四',age:22},{name:'王五',age:25}],// 表格2数据tableData2:[{id:1,product:'手机'},{id:2,product:'电脑'},{id:3,product:'平板'}]};},methods:{toggleTable(){this.showTable1=!this.showTable1;}}};</script>
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/21 14:03:13

ER-Save-Editor虚拟现实:从二维表格到三维空间的全新存档编辑体验

你是否曾在《艾尔登法环》中为调整角色属性而反复打开关闭菜单&#xff1f;是否在装备搭配时因界面限制而难以直观对比不同配置&#xff1f;ER-Save-Editor作为支持PC和PlayStation平台的存档编辑工具&#xff0c;正在通过VR技术彻底改变这一现状。让我们一起来探索从二维平面到…

作者头像 李华
网站建设 2026/3/23 1:39:55

如何快速部署企业级开源即时通讯服务器:OpenIM Server终极指南

如何快速部署企业级开源即时通讯服务器&#xff1a;OpenIM Server终极指南 【免费下载链接】open-im-server IM Chat 项目地址: https://gitcode.com/gh_mirrors/op/open-im-server OpenIM Server是一款专为企业级应用设计的开源即时通讯解决方案&#xff0c;采用Go语言…

作者头像 李华
网站建设 2026/3/16 10:15:54

如何高效实现Reddit视频批量自动化生成:从手动操作到智能生产

如何高效实现Reddit视频批量自动化生成&#xff1a;从手动操作到智能生产 【免费下载链接】RedditVideoMakerBot Create Reddit Videos with just✨ one command ✨ 项目地址: https://gitcode.com/GitHub_Trending/re/RedditVideoMakerBot 面对内容创作领域日益增长的需…

作者头像 李华
网站建设 2026/3/20 10:02:48

告别臃肿:crypto-js模块化引入的精准瘦身指南

在追求极致性能的前端开发领域&#xff0c;crypto-js的完整引入已成为项目体积的隐形负担。本文将为你揭示如何通过模块化策略实现精准瘦身&#xff0c;让加密功能不再成为性能瓶颈。 【免费下载链接】crypto-js 项目地址: https://gitcode.com/gh_mirrors/cry/crypto-js …

作者头像 李华
网站建设 2026/3/15 14:01:53

电力配网硬件研发:5大核心技能实战解析

目录 一、电力配网设备研发岗位全景 1.1 岗位分类与核心职责 二、核心技能模块 1&#xff1a;电力系统基础与电气原理&#xff08;入行门槛&#xff09; 2.1 必备知识点 2.2 实战案例&#xff1a;10kV 配电网典型设备选型与保护配置 三、核心技能模块 2&#xff1a;硬件电…

作者头像 李华