详解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 相关文章推荐
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
基于jquery DOM写的类似微博发布的效果
Oct 20 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
Dec 19 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
json的使用小结
Jun 08 Javascript
AngularJS $injector 依赖注入详解
Sep 14 Javascript
html判断当前页面是否在iframe中的实例
Nov 30 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
Nov 22 Javascript
Node.js 实现远程桌面监控的方法步骤
Jul 02 Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 Javascript
vue实现图片上传预览功能
Dec 23 Javascript
vue跳转页面的几种方法(推荐)
Mar 26 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之第五天
2006/10/09 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
jquery 简单导航实现代码
2009/09/11 Javascript
JavaScript 验证码的实例代码(附效果图)
2013/03/22 Javascript
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/09/29 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python struct.unpack
2008/09/06 Python
Python利用ElementTree模块处理XML的方法详解
2017/08/31 Python
python实现简单登陆系统
2018/10/18 Python
python对文件的操作方法汇总
2020/02/28 Python
python实现简单猜单词游戏
2020/12/24 Python
解决TensorFlow训练模型及保存数量限制的问题
2021/03/03 Python
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
粉红色的鲸鱼:Vineyard Vines
2018/02/17 全球购物
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
客服端调用EJB对象的几个基本步骤
2012/01/15 面试题
儿科护士实习自我鉴定
2013/10/17 职场文书
公司领导班子对照材料
2014/08/18 职场文书
医院见习报告范文
2014/11/03 职场文书
mysql 带多个条件的查询方式
2021/06/05 MySQL
为什么MySQL 删除表数据 磁盘空间还一直被占用
2021/10/16 MySQL
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers