实现Angular CustomValueAccessor:何时重置触摸状态



我正在努力理解为表单实现自定义Angular控件的复杂性。CustomValueAccessor的实现应该为";触摸";通过实现registerOnTouched回调。很明显;触摸";应在用户与控件交互时设置。然而,我想知道触摸的状态何时应该被重置为"0";false";。

registerOnTouched(onTouched: any) {
this.onTouched = onTouched;
}
markAsTouched() {
if (!this.touched) {
this.onTouched();
this.touched = true; // When would I set "touched to false?
}

我建议您获得所需的formGroup并将其标记为已触摸,而不是对控件实现此自定义行为。

this.form.markAsTouched();

你可以把这个答案看作一个例子。

最新更新