最终编辑/解决方案: 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
却没有选择任何内容。显然,这是有可能的,因为可以对此进行验证。
答案 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>
方法