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

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方式,多操作状态的改变来影响视图
直接复制代码,可以看见视图和数据现在保持一致了

相关文章:

  • 计算机网络-网络层
  • ROS云课三分钟-3D性能测试supertuxkart和游戏推荐等-国际象棋
  • 在AIX环境下修改oracle 11g rac的IP地址
  • Java SapringBoot集成Redis存储Session,setAttribute会重置过期时间吗?怎么实现更新过期时间
  • Linux中Java开发、部署和运维常用命令
  • 关于Oracle SGA内存抖动
  • AGI大模型(34):Advanced RAG之Pre-Retrieval(预检索)优化
  • 5月27日星期二今日早报简报微语报早读
  • 欢乐熊大话蓝牙知识11:如何打造一个低功耗蓝牙温湿度传感器?
  • brep2seq 论文笔记
  • #RabbitMQ# 消息队列进阶
  • LabVIEW比例阀性能测试试验台
  • 开源多模态新标杆——BAGEL本地部署教程:7B参数撬动万亿数据
  • Recaf:现代字节码编辑器
  • 批量文件重命名工具
  • 竞赛小算法总结(二):gcdlcm,拓展欧几里得线性同余,逆元(含代码详解)
  • 大模型 Agent 中的通用 MCP 机制详解
  • 芯片跑post sim,在waveform中一般要check哪些点?
  • 【前端】es6新特性全解
  • Transformer 通关秘籍10:词向量运算:queen=king-man+wowem
  • 权威发布是什么意思/深圳网站seo哪家快
  • 联系人网站设计/seo优化报价
  • 券多多是谁做的网站/2022网站seo
  • 网站怎么做图片动态图片不显示不出来/计算机培训班
  • 设计网站建设图片/营销型网站建站推广
  • 做网站买完域名还需要什么/金蝶进销存免费版