我有一個(gè)電子郵件v-text-field字段(實(shí)際上我有很多,但電子郵件需要更復(fù)雜的規(guī)則),并且我使用 Vuelidate 進(jìn)行表單驗(yàn)證。在用戶輸入他的電子郵件并且 Vuelidate 將其檢測(cè)為有效后,我需要顯示一個(gè)Check按鈕,發(fā)出請(qǐng)求并檢查用戶是否存在。直到在去往服務(wù)器并返回的途中發(fā)出請(qǐng)求,我想在按鈕上顯示加載程序。這是代碼:<template> <v-text-field v-model="user.email" type="email" label="Email" solo="true" :error-messages="emailErrors" @input="$v.user.email.$touch()" @blur="$v.user.email.$touch()" > <template v-slot:append> <v-btn v-if="!$v.user.email.$invalid()" class="ma-2" :loading="user.emailVerificationInProgress" color="#ad5697" @click="checkUserRegistration()" >Check </v-btn> </template> </v-text-field><tempale><script>import {validationMixin} from 'vuelidate'import {required, email} from 'vuelidate/lib/validators'export default { mixins: [validationMixin], validations: { user: { email: {required, email}, } }, data: () => ({ user: { email: null, emailVerificationInProgress: false } }), methods: { checkUserRegistration() { this.$v.user.email.$touch(); if (this.$v.user.email.$invalid) return; this.user.emailVerificationInProgress = true; setTimeout( () => { // simulate request this.user.emailVerificationInProgress = false; }, 3000 ) }, }, computed: { emailErrors() { const errors = [] if (!this.$v.user.email.$dirty) return errors !this.$v.user.email.email && errors.push('Invalid email provided') !this.$v.user.email.required && errors.push('Email is required.') return errors; } } 除了按鈕加載器之外,一切都按預(yù)期工作,出于某種原因,在我單擊Check按鈕后,另一個(gè)帶有預(yù)加載器的按鈕出現(xiàn)在Check按鈕之前,但加載器應(yīng)該出現(xiàn)在同一個(gè)按鈕上。
vuetify 輸入附加按鈕加載器工作不正確
搖曳的薔薇
2022-12-29 14:00:58