el-checkbox-group 的v-model默认值不生效的问题

2021-03-31阅读(7407)评论(0)牵着狗狗看MM

苏州实时公交查询

<template>
  <el-checkbox-group v-model="checkList">
    <el-checkbox label="复选框 A"></el-checkbox>
    <el-checkbox label="复选框 B"></el-checkbox>
    <el-checkbox label="复选框 C"></el-checkbox>
    <el-checkbox label="禁用" disabled></el-checkbox>
    <el-checkbox label="选中且禁用" disabled></el-checkbox>
  </el-checkbox-group>
</template>

<script>
  export default {
    data () {
      return {
        checkList: ['选中且禁用','复选框 A']
      };
    }
  };
</script>

上面是官网的例子,用起来没什么问题

实际使用的时候,常常会在表单中绑定,例如v-model绑定为form.checkList 当绑定的不是一个纯粹的变量上,在一个对象上时,就会发现怎么样都不生效。
并且@change监听事件的时候,发现能正常获取到选中的值,但是就是不显示选中状态。
官网的深入响应式原理已经说明了这类问题的原因,如果要绑定到 form.checkList,需要按照如下方式响应属性添加到嵌套的对象:

this.$set(this.form, 'checkList', [])

此方案同样适用于动态生成的checkBox等

赞(6)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » el-checkbox-group 的v-model默认值不生效的问题
分享到: 更多 (0)