vue实现全选反选方法总结

这次给大家带来vue实现全选反选方法总结,vue实现全选反选的注意事项有哪些,下面就是实战案例,一起来看一下。

全选功能可以说是前端开发中非常常见的一个功能,以前的项目开发用jQuery开发比较多。最近在使用vue前端框架重构之前的项目。从jQuery到vue的转变主要是一个思想想的转变,是将原有的直接操作dom的思想转变到操作数据,用数据驱动dom,也是vue框架的一个核心思想,思想转变过来,对功能的实现自然容易理解一些。

例如下面这个简单的demo

vue实现全选反选方法总结

按照jQuery的思想来做的话,要选中全选checkbox和所有的checkbox项,分别注册选中事件,判断选中状态来给相关的checkbox设置对应的状态,这就涉及到很多的dom操作。

下面就看一下vue数据驱动dom的思想来实现这一功能。

vue数据驱动dom实现功能

new Vue({ el: '#app', data(){ return { checkData: [] // 双向绑定checkbox数据数组 } }, watch: { // 监视双向绑定的数据数组 checkData: { handler(){ // 数据数组有变化将触发此函数 if(this.checkData.length == 3){ document.querySelector('#quan').checked = true; }else { document.querySelector('#quan').checked = false; } }, deep: true // 深度监视 } }, methods: { checkAll(e){ // 点击全选事件函数 var checkObj = document.querySelectorAll('.checkItem'); // 获取所有checkbox项 if(e.target.checked){ // 判定全选checkbox的勾选状态 for(var i=0;i<checkObj.length;i++){ if(!checkObj[i].checked){ // 将未勾选的checkbox选项push到绑定数组中 this.checkData.push(checkObj[i].value); } } }else { // 如果是去掉全选则清空checkbox选项绑定数组 this.checkData = []; } } } });

登录后复制

利用vue的双向数据绑定v-model命令,当勾选时,checkbox的value值会自动push到所绑定的数组checkData中去,省去了不少对dom的操作。

如果是固定选项这样是可以实现的,但是这种方法有一些弊端,双向绑定数组数据是写死的,不太灵活,如果增加了checkbox选项,要更改wach里绑定数组的长度判断。

有时候checkbox选项也是后台动态获取过来的,这样也灵活一些。

例如后台数据是这样的:

  ajaxData: [{    name: 'a',    value: 'apple'  },{    name: 'b',    value: 'banana'  },{    name: 'c',    value: 'orange'  }]

登录后复制

需要先动态渲染checkbox选项,在进行数据绑定。

new Vue({ el: '#app', data(){ return { ajaxData: [{ // 后台请求过来的数据 name: '选项1', value: 'apple' },{ name: '选项2', value: 'banana' },{ name: '选项3', value: 'orange' }], checkData: [] // 双向数据绑定的数组 } }, watch: { checkData: { // 监视双向绑定的数组变化 handler(){ if(this.checkData.length == this.ajaxData.length){ document.querySelector('#quan').checked = true; }else { document.querySelector('#quan').checked = false; } }, deep: true } }, methods: { checkAll(e){ // 点击全选事件 if(e.target.checked){ this.ajaxData.forEach((el,i)=>{ // 数组里没有这一个value才push,防止重复push if(this.checkData.indexOf(el.value) == '-1'){ this.checkData.push(el.value); } }); }else { // 全不选选则清空绑定的数组 this.checkData = []; } } } });

登录后复制

vue实现全选反选方法总结

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

Angular4的router属性使用案例详解

键值字符串如何转化为json字符串(附代码)

以上就是vue实现全选反选方法总结的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2765311.html

(0)
上一篇 2025年3月8日 10:49:00
下一篇 2025年2月23日 02:07:06

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Angular服务端渲染方法详解

    这次给大家带来Angular服务端渲染方法详解,Angular服务端渲染的注意事项有哪些,下面就是实战案例,一起来看一下。 Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是Angular …

    2025年3月8日 编程技术
    200
  • Console有哪些Debug方法

    这次给大家带来Console有哪些Debug方法,使用ConsoleDebug的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 在过去的十年中,我最热衷的事情之一就是前端开发(特别是JavaScript)。作为一个“匠人”,我喜欢专…

    2025年3月8日 编程技术
    200
  • JS常用函数总结归纳

    这次给大家带来JS常用函数总结归纳,使用JS常用函数的注意事项有哪些,下面就是实战案例,一起来看一下。 数组扁平化 数组扁平化有很多方法,但最终最好的方法就是递归,实现一个指定深度的扁平化方法,这样基本的套路都会了解。 function f…

    编程技术 2025年3月8日
    200
  • 不使用vue代码规范检测方法总结

    这次给大家带来不使用vue代码规范检测方法总结,不使用vue代码规范检测的注意事项有哪些,下面就是实战案例,一起来看一下。 1.在搭建vue脚手架时提示是否启用eslint检测的。 Use ESLint to lint your code?…

    编程技术 2025年3月8日
    200
  • vue数据传递方法总结

    这次给大家带来vue数据传递方法总结,vue数据传递的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 最近碰到了比较多的关于vue的eventBus的问题,之前定技术选型的时候也被问到了,vuex和eventBus的使用范围。所以简…

    编程技术 2025年3月8日
    200
  • nodejs对密码加密处理方法总结

    这次给大家带来nodejs对密码加密处理方法总结,nodejs对密码加密处理的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了nodejs中密码加密处理操作。分享给大家供大家参考,具体如下: 一、关于node加密模块cryp…

    编程技术 2025年3月8日
    200
  • Vue 按键修饰符处理事件的方法

    这篇文章主要介绍了vue 按键修饰符的相关资料,vue中新增按键修饰符和系统修饰符来处理类似的事件,具体内容详情大家参考下 按键修饰符 在 PC 端开发时, 我们常常会遇到类似的需求, 比如用户按下 enter 键时提交表单, 没有用按键修…

    编程技术 2025年3月8日
    200
  • vue嵌套路由与404重定向实现方法分析

    这篇文章主要介绍了vue嵌套路由与404重定向实现方法,结合实例形式分析了vue.js嵌套路由与404重定向的概念、原理、实现步骤与相关操作技巧,需要的朋友可以参考下 本文实例讲述了vue嵌套路由与404重定向实现方法。分享给大家供大家参考…

    2025年3月8日
    200
  • js保留两位小数的方法

    本篇文章给大家总结了js保留两位小数的各种方法以及每种方法的实例代码分析,如果大家对此有需要,一起来学习下js保留两位小数的方法吧。 本文是小编针对js保留两位小数这个大家经常遇到的经典问题整理了在各种情况下的函数写法以及遇到问题的分析,以…

    编程技术 2025年3月8日
    200
  • 浅谈Vue响应式(数组变异方法)

    这篇文章主要介绍了关于浅谈vue响应式(数组变异方法),有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 很多初使用Vue的同学会发现,在改变数组的值的时候,值确实是改变了,但是视图却无动于衷,果然是因为数组太高冷了吗? …

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论