當我使用 (change) 檢測輸入欄位更改時,它僅在用戶離開輸入欄位時顯示更改。這是 html 代碼:
<input type="text" (change)="check('test')" formControlName="title" [ngClass]="!rForm.controls['title'].valid && rForm.controls['title'].touched ? 'red-border-class' : 'black-border-class'">
我做錯了什么我想在用戶轉到下一個輸入欄位后立即檢測更改。
有人可以幫忙嗎?
謝謝
uj5u.com熱心網友回復:
我猜您想使用 (keypress)- 或 (keyup)-Event。
uj5u.com熱心網友回復:
使用 Keyup 而不是 Change 可能適合您的要求
<input type="text" (keyup)="check('test')" formControlName="title"
[ngClass]="!rForm.controls['title'].valid && rForm.controls['title'].touched ? 'red-border-class' : 'black-border-class'">
uj5u.com熱心網友回復:
您可以使用(blur)事件,它會在您離開輸入欄位后呼叫
<input (blur)='check('test')'/>
uj5u.com熱心網友回復:
你至少有兩種方法可以做到這一點。
使用鍵盤事件
關于 keyup 的更好描述
<input (keyup)="check('test')">
FormControl 的值變化
https://angular.io/api/forms/AbstractControl#valueChanges
rForm.controls['title'].valueChanges.subscribe(() => {
check('test');
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/373255.html
上一篇:如何使用jQuery和Bootstrapv5基于選擇元素隱藏/顯示表單
下一篇:表單占位符文本上的懸停效果
