在关闭事件上选择v还是删除验证错误计时器?

时间:2019-02-11 03:06:04

标签: vue.js vuejs2 vuetify.js

最终编辑/解决方案: https://jsfiddle.net/up9xkhsm/1/

是否存在v-select事件,以便在关闭时可以键入?还是某种“计时器”,我可以设置为在发生验证错误后将其删除?

这是我正在使用的i = 0 while I < 100: i += 1 print(i) if i == 3: print("Foo") https://vuetifyjs.com/en/components/selects

编辑:这概述了问题: https://jsfiddle.net/96vnLm7g/

我想知道用户何时单击v-select却没有选择任何内容。显然,这是有可能的,因为可以对此进行验证。

1 个答案:

答案 0 :(得分:2)

使用onChange道具添加回调函数,以便您检查分配给v-model的{​​{1}}是否已更改,以清除验证错误。或查看分配给v-select的{​​{1}}进行更改。

使用v-model

v-select

在VueJS中

onChange

默认情况下,onChange会发出 <v-select :options="options" :on-change="cleanUpValidation" v-model="selectModel" name="some-select"></v-select> 事件,并带有选定选项的值:

methods: {
    cleanUpValidation(){
     //do the cleanup
    }
  }

因此,您还可以使用它来捕获输入事件:

input

在VueJS中

default: function (val) {
        this.$emit('input', val)
    }

或者您可以观看分配给 <v-select :options="options" @input="cleanUpValidation" v-model="selectModel" name="some-select"></v-select> 的模型:

 methods: {
    cleanUpValidation(val){
      //do something with selected option value or cleanup error
    }
  }

有关onChange和其他道具,请参见: https://sagalbot.github.io/vue-select/docs/Api/Props.html

VuetifyJS的v-select同样适用。

编辑: 主要目标是清除实际单击v-select时的验证错误。 v-select在其onClick()方法中使用焦点事件,以告知VueJS组件已被单击,因此可以用来捕获click事件:

v-select

在js中:

watch: {
    'selectModel' : function(){
      //do the cleanup or something with this.selectModel
    }
  }

最后一个例子:https://jsfiddle.net/c5moqweu/

然后查看https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VSelect/VSelect.js

      <v-select
        @input="inputChanged"
        v-on:change="changeChanged"
        label="Select Item"
        :items="myItems"
        required
        :rules="rules.requiredField"
        @focus="focusChanged"
      >
      </v-select>

方法