bootstrap vue select,如何捕捉输入焦点事件

bootstrap vue select, how to catch input focusout event

我有一个 select:

  <b-form-select
     @input="genderErrors()"
     v-model="user.gender.value"
     :options="user.gender.items"
     class="mdb-select md-form gender-class"
  ></b-form-select>
 <b-form-invalid-feedback
    v-show="user.gender.errors.length > 0"
 >{{user.gender.errors.join(' ')}}</b-form-invalid-feedback>

及其验证:

import {validationMixin} from 'vuelidate'
import {required} from 'vuelidate/lib/validators'
export default {
  mixins: [validationMixin],
  name: 'App',
  validations: {
    user: {
      gender: {
        value: {
          required,
        }
      }
   },
   data: () => ({
      gender: {
        items : [
          {value:'male', text: 'Male'},
          {value: 'female', text: 'Female'},
          {value: null, text: 'Gender'}
          ],
        value: null,
        errors: []
      },
   }),
   methods{
     genderErrors(person) {
          console.log('hahah')
          this.$v.[person].gender.value.$touch();
          this.[person].gender.errors = [];
    
          if (!this.$v.[person].gender.value.$dirty) {
            return;
          }
    
          if (!this.$v.[person].gender.value.required) {
            this.[person].gender.errors.push('Gender required')

          }
  
        },
    }
}

在这个例子中,它是一个触发器 genderErrors 仅当我 select 一些选项时,但我想在相关输入失焦时也触发它,以确定用户是否点击输入但不 select 任何值。取决于 documentation 它不支持该事件,但也许有一些方法可以做到这一点???

提前致谢!

您可以使用 @blur.native="onBlur($event)"。看看here