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

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.xdnf.cn/news/9326.html

相关文章:

  • 【React】jsx 从声明式语法变成命令式语法
  • 5G NTN卫星通信发展现状(截止2025年3月)
  • 每日算法-250527
  • SNTP 协议详解:网络时间同步的轻量级解决方案
  • Python os 模块简介及基础使用示例
  • 如何撰写一篇优质 Python 相关的技术文档 进阶指南
  • Cmake编译yaml-cpp并在QT中测试成功操作步骤
  • AI情感陪伴在医疗领域的核心应用潜力
  • 打卡37天
  • HarmonyNext使用request.agent.download实现断点下载
  • 设计模式-开放封闭原则
  • 多相电机驱动控制学习(1)——基于双dq坐标系的六相PMSM驱动控制
  • C++23 新成员函数与字符串类型的改动
  • 算法竞赛中的基本数论
  • 实时技术对比:SSE vs WebSocket vs Long Polling
  • 分布式光伏接入引起农村电压越限,如何处理?
  • Vue中van-stepper与input值不同步问题及解决方案
  • 如何将联系人从 Android 传输到 PC(正确步骤)
  • 哈尔滨云前沿服务器托管,服务器租用
  • influxdb时序数据库
  • 如何制作全景VR图?
  • Linux基础I/O【文件理解与操作】
  • nt!MiInitializeSystemCache函数分析之PointerPte->u.List.NextEntry的由来
  • 深度解析 K8S Pod 控制器,从原理到企业实践
  • [ Qt ] | 常见控件(二): window相关
  • 字符串day7
  • 线上 VR 展会:独特魅力与显著特质
  • 新增 git submodule 子模块
  • 安全接口设计:筑牢对外接口的安全防线
  • 企业im怎么选? BeeWorks -安全的企业内部通讯软件