vue项目中radio/checkbox无法选择的问题

之前写过一遍《vue通过后端返回值动态生成表单及动态表单的数据提交
》提交动态表单数据没有问题。但是要更新数据,请求后端数据渲染表单并赋值后,发现radio/checkbox等组件无法手动选中,排查知道原因是双向绑定失效

一、复现问题
  • 1、正常的情况
<van-checkbox-group v-model="result" :max="2">
  <van-checkbox name="a">复选框 a</van-checkbox>
  <van-checkbox name="b">复选框 b</van-checkbox>
</van-checkbox-group>
export default {
  data() {
    return {
      result: ['a', 'b'],
    };
  },
};
  • 2、绑定失效的情况
    这个情况,因为没有声明result这一变量,装载组件的时候没有双向绑定装载这个变量;所以后续直接是给未声明的普通变量赋值,并不是双向绑定的变量
<van-checkbox-group v-model="result" :max="2">
  <van-checkbox name="a">复选框 a</van-checkbox>
  <van-checkbox name="b">复选框 b</van-checkbox>
</van-checkbox-group>
export default {
  data() {
    return {
    };
  },
  mounted() {
 	 this.result =['a', 'b']
  }
};
二、解决方案

使用this.$set来设置双向绑定

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值