详解iview的checkbox多选框全选时校验问题


Posted in Javascript onJune 10, 2019

在用iview框架的 checkbox 多选框时 遇到了一个校验问题

在iview给的例子中 代码如下 https://www.iviewui.com/components/checkbox

<template>
  <div style="border-bottom: 1px solid #e9e9e9;padding-bottom:6px;margin-bottom:6px;">
    <Checkbox
      :indeterminate="indeterminate"
      :value="checkAll"
      **@click.prevent.native="handleCheckAll"**>全选</Checkbox>
  </div>
  <CheckboxGroup v-model="checkAllGroup" @on-change="checkAllGroupChange">
    <Checkbox label="香蕉"></Checkbox>
    <Checkbox label="苹果"></Checkbox>
    <Checkbox label="西瓜"></Checkbox>
  </CheckboxGroup>
</template>
<script>
  export default {
    data () {
      return {
        indeterminate: true,
        checkAll: false,
        checkAllGroup: ['香蕉', '西瓜']
      }
    },
    methods: {
      handleCheckAll () {
        if (this.indeterminate) {
          this.checkAll = false;
        } else {
          this.checkAll = !this.checkAll;
        }
        this.indeterminate = false;

        if (this.checkAll) {
          this.checkAllGroup = ['香蕉', '苹果', '西瓜'];
        } else {
          this.checkAllGroup = [];
        }
      },
      checkAllGroupChange (data) {
        if (data.length === 3) {
          this.indeterminate = false;
          this.checkAll = true;
        } else if (data.length > 0) {
          this.indeterminate = true;
          this.checkAll = false;
        } else {
          this.indeterminate = false;
          this.checkAll = false;
        }
      }
    }
  }
</script>

上述代码标粗部分所用到的是click方法

但是在做表单校验的时候会出现一个问题,就是当你选择香蕉,苹果,西瓜时会触发v-model = 'checkAllGroup' 绑定的校验方法,但是全选/不全选的时候,这个校验不会触发。

解决方法 : 把全选的 @click.prevent.native="handleCheckAll" 方法 改成 @on-change="handleCheckAll"

这个问题就会得到解决。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
日历查询的算法 如何计算某一天是星期几
Dec 12 Javascript
Javascript模块化编程详解
Dec 01 Javascript
js中日期的加减法
May 06 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
Aug 26 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
vue与django集成打包的实现方法
Nov 11 Javascript
微信小程序换肤功能实现代码(思路详解)
Aug 25 Javascript
解决vue2中使用elementUi打包报错的问题
Sep 22 Javascript
前端路由&amp;webpack基础配置详解
Jun 10 #Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 #Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 #Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 #Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 #Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 #jQuery
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 #Javascript
You might like
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
php面向对象重点知识分享
2019/09/27 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
javascript 出生日期和身份证判断大全
2008/11/13 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
如何在JavaScript中创建具有多个空格的字符串?
2020/02/23 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python探索之实现一个简单的HTTP服务器
2017/10/28 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
python  Django中的apps.py的目的是什么
2018/10/15 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
Python socket服务常用操作代码实例
2020/06/22 Python
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
关于保护环境的建议书
2014/05/13 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
社保委托书怎么写
2014/08/02 职场文书
老公保证书怎么写
2015/02/26 职场文书
运动会观后感
2015/06/09 职场文书
初三化学教学反思
2016/02/22 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers