溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決iview中checkbox多選框全選時(shí)校驗(yàn)問題

發(fā)布時(shí)間:2021-08-02 15:00:19 來源:億速云 閱讀:230 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了如何解決iview中checkbox多選框全選時(shí)校驗(yàn)問題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

在用iview框架的 checkbox 多選框時(shí) 遇到了一個(gè)校驗(yàn)問題

在iview給的例子中 代碼如下 https://www.iviewui.com/components/checkbox

<template>
  <div >
    <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>

上述代碼標(biāo)粗部分所用到的是click方法

但是在做表單校驗(yàn)的時(shí)候會出現(xiàn)一個(gè)問題,就是當(dāng)你選擇香蕉,蘋果,西瓜時(shí)會觸發(fā)v-model = 'checkAllGroup' 綁定的校驗(yàn)方法,但是全選/不全選的時(shí)候,這個(gè)校驗(yàn)不會觸發(fā)。

解決方法 : 把全選的 @click.prevent.native="handleCheckAll" 方法 改成 @on-change="handleCheckAll"

這個(gè)問題就會得到解決。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何解決iview中checkbox多選框全選時(shí)校驗(yàn)問題”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI