vue实现复选框checkbox

效果图:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">

</head>
<body>
<div id="app" v-cloak>
<div>
<span>复选框:</span>=={{checkboxIdStr}}
<br>
<label v-for="(item,index) in tempData">
<input type="checkbox" :value="item.id" v-model="checkboxIdStr">{{item.name}}

<!--方式二 选中1 不选中0-->

<input  v-model="isQRCodeTrack" :true-value="1":false-value="0"  id="isQRCodeTrack"  type="checkbox">


</label>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

<script>
var vue=new Vue({
  el:"#app",
  data:{

    isQRCodeTrack:null,

    tempData:[{'id':'1','name':'张三'},{'id':'2','name':'李四'},{'id':'3','name':'王五'}],//复选框数据源

    checkboxIdStrs:'1,3',//假设这是你从数据库里取出的数据

    checkboxIdStr:[],//注意这个一定要是数组的形式,这样v-model绑定ckeckbox才会自动选中

  },

 created: function () {
  if (this.checkboxIdStrs.length>0) {

    const arr=this.checkboxIdStrs.split(',');
      for (let i in arr) {
     
  this.checkboxIdStr.push(arr[i]);
  }
  }

}

})
</script>
</body>
</html>

2021-1-22 更新 另一种情况:

  

  选中是1,未选中是0

1 <input v-model="isOverWeight" type="checkbox" class="checkbox_pol margin_left12"
2                                    :true-value="ENUM.yesOrNo.yes.key"
3                                    :false-value="ENUM.yesOrNo.no.key">是否超重

 

posted @ 2020-05-19 09:33  星期7  阅读(5688)  评论(0编辑  收藏  举报