当前位置: 首页 > article >正文

vue2使用element中多选组件el-checkbox-group,数据与UI更新不同步

问题描述

使用element多选checkbox组件,点击勾选取消勾选,视图未变化,再次点击表单其他元素,多选组件勾选状态发生变化,视图和数据未同步
在这里插入图片描述

  • 第一次尝试:再el-checkbox-group多选父组件上增加点击事件,但是每次勾选并未触发,而是点表单其他元素之后才会触发当前事件。
    在这里插入图片描述
  • 第二次尝试:使用vue. set
this.$set(this.storeItem,   'array',  list)这样修改后确实也起作用了。 
🍔 注意:这里使用 vue.set 起作用根本是,瞎猫碰上死耗子,不能响应的原因根本不是这个这里我们根本没有添加 array属性,而只是去改变了array 属性的值,vue按理说应该是能够检测到的。
  • 最后解决方法:el-checkbox-group与el-check的数据同步有些问题
    给每个el-checkbox增加一个属性checked和一个事件change
<el-checkbox-group v-model="dutyForm.hazardFactorsIds" ><el-checkboxv-for="item in hazardFactorsList":key="item.ID":label="item.ID":checked="checked"@change="checked=!checked">{{ item.Name }}</el-checkbox>
</el-checkbox-group>--------js-数据层-----hazardFactorsList: [{ID: 'FK1',Name: '窒息(缺氧)'},{ID: 'FK2',Name: '中毒'},{ID: 'FK3',Name: '燃爆/爆炸'},{ID: 'FK4',Name: '机械伤害'},{ID: 'FK5',Name: '淹溺'}
],
checked: false // 这个 checked 没有任何作用,只是为了绕开elment 的这个坑
再每次修改<el-checkbox-group>的 v-model 的值的时候,先将 checked 设置为 false

vue2经常会出现视图和数据不同步的问题,尽量少使用vue.set方式,多操作状态的改变来影响视图
直接复制代码,可以看见视图和数据现在保持一致了

http://www.lryc.cn/news/2387285.html

相关文章:

  • linux磁盘分区及挂载、fdisk命令详解
  • anaconda 安装教程以及常用命令
  • C/C++的OpenCV的锐化
  • Eigen矩阵存储顺序以及转换
  • OpenLayers 加载ArcGIS瓦片数据
  • 2025蓝桥杯WP
  • 数字人教师:开启教育智慧革新之旅
  • Linux中Java开发、部署和运维常用命令
  • 详解srs流媒体服务器的集群
  • ubuntu22.04 安装 SecureCRT8.7.3
  • Day 37
  • libvirt设置虚拟机mtu实现原理
  • AstroNex空间任务智能控制研究与训练数据集
  • 汽车副水箱液位传感器介绍
  • Docker+MobaXterm+x11实现容器UI界面转发本地
  • IEEE出版|2025年智能制造、机器人与自动化国际学术会议 (IMRA2025)
  • EasyRTC嵌入式SDK音视频实时通话助力WebRTC技术与智能硬件协同发展
  • Higress MCP Server 安全再升级:API 认证为 AI 连接保驾护航
  • 多个vue2工程共享node_modules
  • 蓝桥杯178 全球变暖
  • 多模态理解大模型高性能优化丨前沿多模态模型开发与应用实战第七期
  • mysql 合集
  • Zustand V5教程:Vanilla Store 与 useStore 使用详解 + 实战 Demo
  • docker 搭建php 开发环境 添加扩展redis、swoole、xdebug(1)
  • 人脸识别技术合规备案最新政策详解
  • (16)高性能风控系统设计
  • AStar低代码平台-脚本调用C#方法
  • 企业级RAG技术实战指南:从理论到落地的全景解析
  • getline()跳过输入
  • 【八股战神篇】RabbitMQ高频面试题