我已重现该问题堆栈闪电战 https://stackblitz.com/edit/angular-iah7up用最少的代码。
第1步:点击文字
第 2 步:将焦点放在文本字段上
步骤 3:输入 Enter 并检查控制台是否有此错误
错误:ExpressionChangedAfterItHasBeenCheckedError:表达式有
检查后更改了。以前的值:'ng-untouched:true'。
当前值:'ng-untouched: false'。
您必须使用以下命令手动触发指令中的更改检测detectChanges()
的方法ChangeDetectorRef
Modify editable-on-enter-inplace.directive.ts
像这样:
import { Directive,HostListener ,ChangeDetectorRef} from '@angular/core';
constructor(private editable: EditableInplaceComponent,private cdr: ChangeDetectorRef) { }
@HostListener('keyup.enter')
onEnter() {
this.editable.toViewMode();
this.cdr.detectChanges();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)