利用Vue.js实现checkbox的全选反选效果

发布时间 - 2026-01-10 22:37:34    点击率:

前言

这篇文章主要是跟大家分享了利用Vue.js实现checkbox的全选反选效果,之前写的代码存在一个bug,就是当你选择全选的时候去掉后面的一个选项,再点全选结果就是反的了。后来很感谢朋友留言帮我改了这个问题嘻嘻,下面一起来看看具体是怎么实现的吧.

html示例代码

<template>
 <div>
 <input type='checkbox' class='input-checkbox' v-model='checked' v-on:click='checkedAll'>全选
 <template v-for='checkb in checkboxData'>
 <input type='checkbox' name='checkboxinput' class='input-checkbox' v-model='checkboxModel' value='{{checkb.id}}'>{{checkb.value}}
 </template>
 </div>
</template>

js示例代码

<script>
export default {
methods:{
 checkedAll: function() {
 var _this = this;
 console.log(_this.checkboxModel);
 if (this.checked) {//实现反选
 _this.checkboxModel = [];
 }else{//实现全选
 _this.checkboxModel = [];
 _this.checkboxData.forEach(function(item) {
 _this.checkboxModel.push(item.id);
 });
 }
 }
},
watch: {//深度 watcher
 'checkboxModel': {
 handler: function (val, oldVal) { 
 if (this.checkboxModel.length === this.checkboxData.length) {
 this.checked=true;
 }else{
 this.checked=false;
 }
 },
 deep: true
 }
},
data () {
 return {
 checkboxData:[{
 id:'1',
 value:'苹果'
 },{
 id:'2',
 value:'荔枝'
 },{
 id:'3',
 value:'香蕉'
 },{
 id:'4',
 value:'火龙果'
 }],
 checkboxModel:['1','3','4'],
 checked:""
 }
}
}
</script>

watch

类型: Object

详细:

一个对象,键是观察表达式,值是对应回调。值也可以是方法名,或者是对象,包含选项。在实例化时为每个键调用 $watch()

示例:

var vm = new Vue({
 data: {
 a: 1
 },
 watch: {
 'a': function (val, oldVal) {
 console.log('new: %s, old: %s', val, oldVal)
 },
 // 方法名
 'b': 'someMethod',
 // 深度 watcher
 'c': {
 handler: function (val, oldVal) { /* ... */ },
 deep: true
 }
 }
})
vm.a = 2 // -> new: 2, old: 1

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# vue.js  # checkbox  # 全选  # vuejs  # vue  # Vue动态生成el-checkbox点击无法赋值的解决方法  # vue实现全选、反选功能  # vue中el-checkbox全选、反选、多选的实现  # 这篇文章  # 是怎么  # 帮我  # 当你  # 这个问题  # 或者是  # 大家分享  # 改了  # 回调  # 主要是  # 再点  # 嘻嘻  # 一起来看看  # 有疑问  # div  # input  # gt  # lt  # template 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速搭建FTP站点实现文件共享?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  如何在Windows 2008云服务器安全搭建网站?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何在云服务器上快速搭建个人网站?  长沙做网站要多少钱,长沙国安网络怎么样?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何在IIS7中新建站点?详细步骤解析  利用python获取某年中每个月的第一天和最后一天  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel怎么判断请求类型_Laravel Request isMethod用法  手机软键盘弹出时影响布局的解决方法  大同网页,大同瑞慈医院官网?  5种Android数据存储方式汇总  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Linux系统命令中tree命令详解  Android使用GridView实现日历的简单功能  如何有效防御Web建站篡改攻击?  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  高防服务器如何保障网站安全无虞?  使用spring连接及操作mongodb3.0实例  lovemo网页版地址 lovemo官网手机登录  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  北京专业网站制作设计师招聘,北京白云观官方网站?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何获取上海专业网站定制建站电话?  Mybatis 中的insertOrUpdate操作  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  如何用PHP快速搭建CMS系统?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  html5的keygen标签为什么废弃_替代方案说明【解答】  如何快速搭建高效简练网站?  Laravel API资源类怎么用_Laravel API Resource数据转换  如何在建站主机中优化服务器配置?  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Python文件流缓冲机制_IO性能解析【教程】  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  如何快速搭建自助建站会员专属系统?  海南网站制作公司有哪些,海口网是哪家的?  php结合redis实现高并发下的抢购、秒杀功能的实例  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  如何确保FTP站点访问权限与数据传输安全?