详解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 相关文章推荐
Add a Formatted Table to a Word Document
Jun 15 Javascript
javascript URL编码和解码使用说明
Apr 12 Javascript
js 多种变量定义(对象直接量,数组直接量和函数直接量)
May 24 Javascript
用C/C++来实现 Node.js 的模块(二)
Sep 24 Javascript
Javascript自执行匿名函数(function() { })()的原理浅析
May 15 Javascript
jQuery validate 验证radio实例
Mar 01 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
vuex 动态注册方法 registerModule的实现
Jul 03 Javascript
小程序调用微信支付的方法
Sep 26 Javascript
JS class语法糖的深入剖析
Jul 07 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
PHP字符编码问题之GB2312 VS UTF-8解决方法
2011/06/23 PHP
19个Android常用工具类汇总
2014/12/30 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
Jquery 的扩展方法总结
2011/10/01 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
vue登录注册及token验证实现代码
2017/12/14 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
python3调用R的示例代码
2018/02/23 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python 字符串常用方法汇总详解
2019/09/16 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
计算机专业推荐信范文
2013/11/27 职场文书
银行求职信怎么写
2014/05/26 职场文书
欢迎标语大全
2014/06/21 职场文书
法学专业求职信
2014/07/15 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
房产证明范本
2015/06/19 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
小学生六年级作文之关于感恩
2019/08/16 职场文书