详解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 相关文章推荐
javascript Array.sort() 跨浏览器下需要考虑的问题
Dec 07 Javascript
JavaScript 学习笔记二 字符串拼接
Mar 28 Javascript
javascript面向对象快速入门实例
Jan 13 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
Jan 26 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
JS使用cookie实现只出现一次的广告代码效果
Apr 22 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
Jul 04 Javascript
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
Nov 22 Javascript
推荐一个基于Node.js的表单验证库
Feb 15 Javascript
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
Apr 09 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数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
PHP扩展开发入门教程
2015/02/26 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
使用js实现雪花飘落效果
2013/08/26 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
jQuery控制TR显示隐藏的几种方法
2014/06/18 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
正则中的回溯定义与用法分析【JS与java实现】
2016/12/27 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
webpack 代码分离优化快速指北
2019/05/18 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
2020/05/14 Javascript
Python中asyncore的用法实例
2014/09/29 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
python对csv文件追加写入列的方法
2019/08/01 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
python脚本和网页有何区别
2020/07/02 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
ASOS亚洲:ASOS Asia
2018/03/04 全球购物
卡骆驰英国官网:Crocs英国
2019/08/22 全球购物
植树节标语
2014/06/27 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
新郎结婚保证书
2015/02/26 职场文书
入党函调证明材料
2015/06/19 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
志愿者服务宣传标语口号
2015/12/26 职场文书
Python使用MapReduce进行简单的销售统计
2022/04/22 Python