我就废话不多说,直接上代码吧!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="app"> <div style="padding-left: 20px"> <ul style="margin-bottom: 20px"> <li v-for="(item, index) in proData"> <input type="checkbox" :value="index" v-model="selectArr">{{item.name}} </li> </ul> <label> <input type="checkbox" @click="selectAll" :checked="checked"/>全选 </label> </div> </div> </body> <script src="https://cdn.jsdelivr.net/npm/vue"></script> <script type="text/javascript"> var vm = new Vue({ el : "#app", data : { proData: [ { "name": "张三" }, { "name": "李四" }, { "name": "王五" }, { "name": "赵六" } ], selectArr: [], checked : false }, watch : { selectArr(curVal){ if(curVal.length == this.proData.length){ this.checked = true }else{ this.checked = false } } }, methods: { selectAll(event){ if (!event.currentTarget.checked) { this.selectArr = []; } else { //实现全选 this.selectArr = []; this.proData.forEach((item, i) =>{ this.selectArr.push(i); }); } } } }) </script> </html>
如果有bug,请告知!
以上这篇vue 全选与反选的实现方法(无Bug 新手看过来)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。