checkbox在vue中的用法总结

 

前言

关于checkbox多选框是再常见不过的了,几乎很多地方都会用到,这两天在使用vue框架时需要用到checkbox多选功能,实在着实让我头疼,vue和原生checkbox用法不太一样,
之前对于vue中用到过的checkbox也只是别人写好的组件,这次在自己实现时走了很多坑,特意写这篇文章记录下来,给后来者提供一个参考

在这之前,先看看原生checkbox搭配jquery取值的用法

<input type="checkbox" name="hobby" value="游泳">游泳         <input type="checkbox" name="hobby" value="健身">健身         <input type="checkbox" name="hobby" value="旅游">旅游          $(".section1 input[type=checkbox][name=hobby]").change(function(){                  var obj = document.getElementsByName("hobby");          var check_val = [];          for(k in obj){             if(obj[k].checked){                 check_val.push(obj[k].value);             }          }          $(".section1 .res").text(check_val);             });

checkbox禁用

<input type="checkbox" name="hobby" value="游泳" checked disabled="true">游泳

在vue中checkbox用法

在vue中,v-model其实是checked语法糖,通过v-model来判断当前checkbox是否被选中, 它绑定一个数组,选中项的值会自动添加到数组中

<div>请选择你的爱好(vue)</div>         <input type="checkbox" v-model="hobby2" value="游泳">游泳         <input type="checkbox" v-model="hobby2" value="健身">健身         <input type="checkbox" v-model="hobby2" value="旅游">旅游         <div>你已选中:{{hobby2}}</div>
var vm = new Vue({             el: '#app',             data:{                 msg:'hello',                 hobby2:[]             },             created(){                 console.log('created')             },             method:{                 login:function(){                     alert(1)                 }             }         })

vue中checkbox禁用

假如我们要求选项至少选择一个值,我们来通过disabled来禁止用户取消点击选项
这里主要是通过设置hobby2的值来控制checkbox选项的选中或取消

  1. 首先先将hobby2数组设置一个默认值hobby2:['游泳']
  2. 添加input点击事件
<input type="checkbox" v-model="hobby2" value="游泳" @click="handleClick">游泳<
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信