کافه انگولار
عکس
یادتونه وقتی میخواستیم یه input رو focus کنیم تو reactive form با viewChild اینکار رو میکردیم یا حتی از viewChildren یه خونه از آرایه شو میگرفتیم و focus میکردیم؟
حالا تو Signal form بهمون این قابلیت داده شده که یه فیلد از فرم رو با متد focusBoundControl بیایم focus کنیم 🤩
مثلا میتونیم بگیم اگه فلان فیلد پر شد برو فیلد بعدی یا حتی خطا هایی که میخوریم رو فیلد شو focus کن
protected nextInvalidField() {
const nextInvalidField = this.form().errorSummary()[0];
if (nextInvalidField) {
nextInvalidField.fieldTree().focusBoundControl();
}
}
اگه کار نکرد یه request animation frame میزنیم تا زمان اجرا رو بندازه به فریم بعدی
clearField(field: string | number): void {
this.formModel.update(fields => ({...fields, [field]: ''}))
requestAnimationFrame(() => {
this.form.someField().focusBoundControl();
});
}
#angularsignal
#signalform
@angularcafe
1 · 163 ·