很简单使用的vue全选和取消全选
直接上代码,简单易懂不懂得可以留言。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>checkboxAll</title> </head> <body> <div id="app"> <ul class="checkboxs"> <li > <label>{{checkAllTxt}}<input type="checkbox" v-model="checked" @click= "checkboxAll($event)"></label> </li> <li v-for=‘list,index in lists‘> <label>{{list.name}}<input type="checkbox" v-model="checkStatusArr[index]"></label> </li> </ul> </div> <script src="../vue.js"></script> <script> window.onload = function () { var vm = new Vue({ el: ‘#app‘, data: { lists: [ { ‘name‘: ‘张三‘ }, { ‘name‘: ‘李四‘ }, { ‘name‘: ‘王五‘ }, { ‘name‘: ‘赵六‘ } ], checked: false, checkStatusArr: [] }, methods: { checkboxAll (event) { this.checkStatusArr = []; if (event.currentTarget.checked) { let len = this.lists.length; for (let i = 0; i < len; i++) { this.checkStatusArr.push(1);// 1 ==true } } else { this.checkStatusArr = []; } } }, watch: { checkStatusArr (val, oldVal) { if (val.length > 0) { this.checked = true; } else { this.checked = false; } } }, computed: { checkAllTxt () { if (this.checked === true) { return ‘全不选‘; } else { return ‘全选‘; } } } }); }; </script> </body> </html>