详解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判断录入的日期是否合法
Jan 08 Javascript
JS加ASP二级域名转向的代码
May 17 Javascript
js 内存释放问题
Apr 25 Javascript
js基于cookie记录来宾姓名的方法
Jul 19 Javascript
Angular.js 4.x中表单Template-Driven Forms详解
Apr 25 Javascript
jQuery+PHP+Mysql实现抽奖程序
Apr 12 jQuery
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
vuejs router history 配置到iis的方法
Sep 20 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
vue中的使用token的方法示例
Mar 10 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 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
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
PHP5与MySQL数据库操作常用代码 收集
2010/03/21 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
Laravel框架表单验证操作实例分析
2019/09/30 PHP
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
详解Puppeteer 入门教程
2018/05/09 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
Python 字符串操作方法大全
2014/03/11 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
库房主管岗位职责
2013/12/31 职场文书
八年级美术教学反思
2014/02/02 职场文书
商学院大学生求职的自我评价
2014/03/12 职场文书
学习党代会心得体会
2014/09/05 职场文书
司机工作自我鉴定
2014/09/19 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
先进基层党组织材料
2014/12/25 职场文书
2019军训心得体会
2019/06/27 职场文书