v-выбрать при закрытии события или удалить таймер ошибки проверки? - PullRequest
0 голосов
/ 11 февраля 2019

Окончательное редактирование / решение: https://jsfiddle.net/up9xkhsm/1/

Существует ли такое событие для v-select, которое я могу включить при его закрытии?Или какой-то «таймер», который я могу установить для удаления ошибок проверки после их возникновения?

Это v-select Я использую: https://vuetifyjs.com/en/components/selects

Редактировать: это обрисовывает в общих чертах проблему: https://jsfiddle.net/96vnLm7g/

Я хочу знать, когда пользователь нажал на v-select, но ничего не выбрал.Очевидно, это должно быть возможно, так как проверка может поднять это ..

1 Ответ

0 голосов
/ 11 февраля 2019

Используйте опору 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 

Метод

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...