单击clear按钮时,将重置该值(我知道这一点,因为我显示了所需的验证消息),但该值仍然显示在输入元素中。如何清除视觉元素的文本以及值?
自定义组件标记:
<input type="text" [(ngModel)]="value" name="value">
<input type="button" (click)="onClear()" value="clear"/>打字脚本
constructor(@Self() @Optional() private control: NgControl) {
this.control.valueAccessor = this;
}
public val: string;
set value(val: any) {
if (val !== undefined && this.val !== val) {
this.val = val;
this.onChanged(val);
this.onTouched(val);
}
}
// START ---- ControlValueAccessor interface implementation ---- //
public disabled: boolean;
onChanged: any = () => { }
onTouched: any = () => { }
writeValue(value: any) {
this.value = value;
}
registerOnChange(fn: any) {
this.onChanged = fn
}
registerOnTouched(fn: any) {
this.onTouched = fn
}
setDisabledState(isDisabled: boolean): void {
this.disabled = isDisabled;
}
// END ---- ControlValueAccessor interface implementation ---- //
onClear() {
this.value = "";
}发布于 2020-07-29 03:45:09
get value() {
return this.val;
}value绑定到[(ngModel)],这是双向绑定,因此需要getter。
https://stackoverflow.com/questions/63141455
复制相似问题