详解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 可拖拽的窗体控件实现代码
Mar 21 Javascript
关于document.cookie的使用javascript
Oct 29 Javascript
div层的移动及性能优化
Nov 16 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
Feb 05 Javascript
JS操作字符串转数字的常见方法示例
Oct 29 Javascript
jquery 插件重新绑定的处理方法分析
Nov 23 jQuery
vue项目中极验验证的使用代码示例
Dec 03 Javascript
JS实现字体背景跑马灯
Jan 06 Javascript
vue项目创建步骤及路由router
Jan 14 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 Javascript
vue在响应头response中获取自定义headers操作
Jul 24 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
不用数据库的多用户文件自由上传投票系统(1)
2006/10/09 PHP
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
载入进度条 效果
2006/07/08 Javascript
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
鼠标经过的文本框textbox变色
2009/05/21 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
Vue 中如何将函数作为 props 传递给组件的实现代码
2020/05/12 Javascript
JS实现简单打字测试
2020/06/24 Javascript
python 中文乱码问题深入分析
2011/03/13 Python
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
python查看列的唯一值方法
2018/07/17 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
python3 selenium自动化测试 强大的CSS定位方法
2019/08/23 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
Python实现FLV视频拼接功能
2020/01/21 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
意大利一家专营包包和配饰的网上商店:Borse Last Minute
2019/08/26 全球购物
VICHY薇姿俄罗斯官方网上商店:法国护肤品牌,火山温泉水
2019/11/22 全球购物
岗位竞聘演讲稿
2014/01/10 职场文书
创建无烟单位实施方案
2014/03/29 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python