如何在Vue中实现全选/反选?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
首先就是自己创建一个input,正在mx.txt的前方添加一个input:CheckBox。在v-model加上你每次创建出来的mx.check
最重点就在于forEach遍历,出来的都是当前的。
有些人不注意的一点,为什么data里面没有check:[]这样的出现。
data里的是实时监控,你点一次自动将所有的check都变成了true。
<template> <div class="check"> <button @click="checkAll">全选</button> <br> <input type="text" v-model="txt" @keyup.enter="ck" /> <ul> <li v-for="(mx, index) in list" :key="index"> <input type="checkbox" v-model="mx.check" /> {{mx.txt}} </li> </ul> </div> </template>
<script> export default { data() { return { txt: "", list: [] } }, methods: { ck() { this.list.push({ txt: this.txt, check: false }) this.txt = "" }, checkAll() { this.list.forEach((mx) => { mx.check = !mx.check }) } } } </script>
<style lang="less"> .check { cursor: pointer; button { cursor: pointer; border: 0; padding: 10px 30px; background: #000; color: #fff; border-radius: 100px; margin-bottom: 10px; outline: none; } input { padding: 15px; width: 300px; border: 0; box-shadow: 0 0 15px #ccc; } ul { width: 300px; padding: 0; cursor: pointer; box-shadow: 0 0 15px #ccc; min-height: 300px; padding: 15px; list-style: none; li { cursor: pointer; margin-bottom: 12px; >input { padding: 0; width: auto; } } } } </style>
关于如何在Vue中实现全选/反选问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。