news 2026/5/9 13:02:23

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/5/4 1:30:09

Azure量子计算认证难吗?90%考生忽略的5大关键考点曝光

第一章&#xff1a;MCP Azure 量子开发认证考点解析Azure 量子开发认证&#xff08;Microsoft Certified: Azure Quantum Developer&#xff09;面向掌握量子计算原理并能使用 Azure Quantum 服务构建和运行量子算法的专业开发者。该认证重点考察候选人在量子编程、量子电路设计…

作者头像 李华
网站建设 2026/5/3 6:54:53

在windows平台搭建一个mini版本的k8s集群

前置要求&#xff1a; 1. 安装wsl2和docker-desktop 这边安装步骤之类的网上都有&#xff0c;最后要达成的效果就是二者都安装ok&#xff0c;同时要用wsl2起一台Linux虚机即可2.安装kubectlcurl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/s…

作者头像 李华
网站建设 2026/5/9 5:55:29

Bruno组件库:企业级Flutter UI开发的终极实践指南

Bruno组件库&#xff1a;企业级Flutter UI开发的终极实践指南 【免费下载链接】bruno An enterprise-class package of Flutter components for mobile applications. ( Bruno 是基于一整套设计体系的 Flutter 组件库。) 项目地址: https://gitcode.com/gh_mirrors/bru/bruno…

作者头像 李华
网站建设 2026/5/3 16:25:43

Wan2.2-T2V-A14B如何防止生成歧视性或偏见内容?

Wan2.2-T2V-A14B如何防止生成歧视性或偏见内容&#xff1f; 你有没有想过&#xff0c;一个AI生成的广告视频里&#xff0c;为什么总是“白人男性当CEO”、“亚裔女性在厨房做菜”&#xff1f;&#x1f914; 这并不是巧合——而是训练数据中潜藏的社会偏见被模型“学”了进去。更…

作者头像 李华
网站建设 2026/5/9 10:18:28

基于Wan2.2-T2V-A14B构建企业级视频SaaS平台的技术路径

基于Wan2.2-T2V-A14B构建企业级视频SaaS平台的技术路径 在短视频主导内容消费的今天&#xff0c;品牌每小时都在“错过一个爆款”——不是因为创意枯竭&#xff0c;而是传统视频生产像搭积木&#xff1a;脚本、拍摄、剪辑、调色……动辄几天甚至几周。但当AI开始“写”视频&…

作者头像 李华