##わからないこと
watchの対象はinputの入力の変更です。
ただそこで入力する前と入力後の値を取得して比較したいと思っていますが、
入力前の値を取得することができません。
watchは動いていますが、二つの引数ともに入力後の値です。
##コード
Typescript
1private textFields?: any = [ 2 { 3 name: "ユーザーネーム", 4 value: "", 5 type: "text", 6 // errorMessages: this.fieldErrorMessage(), 7 rules: [ 8 (v: any) => !!v || "username is required" 9 // (v: any) => this.usernameExist(v) || "すでに登録されています。" 10 ] 11 } 12 ]; 13 14 @Watch("textFields", { deep: true }) 15 private async fieldErrorMessage(value?: any, oldValue?: any) { 16 console.log({ value, oldValue }); 17 }
<v-row v-for="field in textFields" :key="field.name"> <v-col> <v-text-field solo v-model="field.value" :value="field.value" :placeholder="field.name" :type="field.type" :error-messages="field.errorMessage" :rules="field.rules" ></v-text-field> </v-col> </v-row>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。