Используйте опору onChange
для добавления функции обратного вызова, чтобы вы могли проверить v-model
, назначенный v-select
, если он был изменен, чтобы очистить ошибки проверки.Или смотрите v-model
, назначенный v-select
для изменений.
Использование onChange
:
<v-select :options="options" :on-change="cleanUpValidation" v-model="selectModel" name="some-select"></v-select>
И в VueJS
methods: {
cleanUpValidation(){
//do the cleanup
}
}
По умолчанию onChange генерирует событие input
со значением выбранной опции:
default: function (val) {
this.$emit('input', val)
}
Так что вы также можете использовать его для перехвата входного события:
<v-select :options="options" @input="cleanUpValidation" v-model="selectModel" name="some-select"></v-select>
В VueJS
methods: {
cleanUpValidation(val){
//do something with selected option value or cleanup error
}
}
Или вы можете посмотреть модель, назначенную на v-select
:
watch: {
'selectModel' : function(){
//do the cleanup or something with this.selectModel
}
}
Информацию об onChange и других реквизитах см .: https://sagalbot.github.io/vue-select/docs/Api/Props.html
То же самое относится и к v-select VuetifyJS.
Редактировать: Основная цель состояла в том, чтобы очистить ошибки проверки при фактическом нажатии v-select.v-select использует событие focus в своем методе onClick (), чтобы сообщить VueJS, что компонент нажат, чтобы его можно было использовать для захвата события click:
<v-select
@input="inputChanged"
v-on:change="changeChanged"
label="Select Item"
:items="myItems"
required
:rules="rules.requiredField"
@focus="focusChanged"
>
</v-select>
И в js:
methods:{
focusChanged(){
console.log('focusChanged ');
},
}
Для последнего примера: https://jsfiddle.net/c5moqweu/
И см. https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VSelect/VSelect.js
onClick
Метод