vue.js动态绑定input的checked

不管<input type='radio checked='true''>  你的checked属性值是true或者false,他都会选中。

其实原理是这样的,复选框里只要有checked属性,不管是否为其赋值,结果为空或true或false或任意值,均为选中状态。

选中不选中,不是看checked的属性值,而是看有没有checked这个属性,所以,动态选中,不用v-model,也不用checked='true',判断是否需要渲染checked这个属性就好了.

 

view 改一下:

"<input type='radio' :name='groupName' :checked='option.checked'>{{option.text}}"

:checked='option.checked'   如果option.checked为true,他就渲染checked这个属性,否则input元素没有这个属性。

 

这样绑定后,我们在vue的methods里面设置,把当前索引的radio绑定model的checked属性设置为true,其他的必须设置为false,这样才和上面的绑定对应,不然全是true了,绑定就会有问题了。

checkOption: function (e, optionIndex) {

 $.each(vm.options, function (index, item) {

  item.checked = false;      

 });

 vm.options[optionIndex].checked = true;

 }

 

 

posted on 2019-07-30 17:08  ranyonsue  阅读(11025)  评论(0编辑  收藏  举报

导航