详解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 学习 - 提高篇
Feb 02 Javascript
js设置组合快捷键/tabindex功能的方法
Nov 21 Javascript
js实现日期级联效果
Jan 23 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
Sep 19 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
Aug 15 Javascript
javascript实现的左右无缝滚动效果
Sep 19 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
Feb 12 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
详解JavaScript栈内存与堆内存
Apr 04 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 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
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
JS 面向对象之神奇的prototype
2011/02/26 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
Vue实现typeahead组件功能(非常靠谱)
2017/08/26 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
js实现无缝滚动双图切换效果
2019/07/09 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
浅谈使用nodejs搭建web服务器的过程
2020/07/20 NodeJs
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
Python实现按当前日期(年、月、日)创建多级目录的方法
2018/04/26 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
Python实现壁纸下载与轮换
2020/10/19 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
实现向右循环移位
2014/07/31 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
四年级下册教学反思
2014/02/01 职场文书
德语专业求职信
2014/03/12 职场文书
初中家长评语和期望
2014/12/26 职场文书
自荐信格式范文
2015/03/04 职场文书
SQL Server表分区删除详情
2021/10/16 SQL Server
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL