码迷,mamicode.com
首页 > 其他好文 > 详细

点击多选框,el-checkbox绑定的值变化了,但是页面没有反应

时间:2021-05-24 15:09:57      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:多选   function   返回   turn   data   属性   数据   event   后台   

今天做项目遇到点击element的多选框,通过change事件发现v-model的值变化了,但是页面上没有勾选上

<el-checkbox v-model="mData.isCheck" @change="changeCheck($event,mData)"></el-checkbox>

原因:手动添加数据的问题,我将后端返回的数组手动将数组中的每个对象都添加一个key:value键值对的值,然后通过这个值去控制多选框的选中

一开始我是这样做的

var result = data.list.map(function(item) {
            item.isCheck = false
            return item
          })
 this.mListDatas.list = result

上面的做法点击多选框,isCheck的值变化了,但是页面上没有反应,原因是我们是手动添加的isCheck字段,这样添加的字段数据不是响应式的,没有get set属性,所以需要用vue的set方法添加对象属性,

下面是正确的做法:

that.mListDatas = data;   // 从后台返回的数据没有isCheck这个字段
           var result = data.list.map(function(item) {
            that.$set(item,isCheck,false)
            return item
          })

that.mListDatas = result   // 这样数组中的每一个对象都有isCheck这个字段

 

点击多选框,el-checkbox绑定的值变化了,但是页面没有反应

标签:多选   function   返回   turn   data   属性   数据   event   后台   

原文地址:https://www.cnblogs.com/lita07/p/14782172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!