【发布时间】:2018-07-07 11:20:13
【问题描述】:
我有一个父组件有两个子组件的用例。选择子组件时,应重置父母FormControl。
为了做到这一点,我需要将一个布尔值从子级发送给父级,但这并没有按预期运行。
这是我当前的实现 - 不起作用!有人可以解释我忽略了什么吗?非常感谢
子组件
在孩子中注册事件发射器
@Output() formControlReset: EventEmitter<boolean> = new EventEmitter();
发出事件
this.formControlReset.emit(true);
父组件
<div>
<input (formControlReset)="formControlReset($event)" [(ngModel)]="userInput" [formControl]="inputFormControl" *ngIf="showSearchInput" placeholder="Search here" #searchInput></input>
</div>
在 formControl 上调用重置
formControlReset(value: boolean): void {
console.log('doing something');
this.inputFormControl.reset();
}
【问题讨论】:
-
你怎么称呼发射器?如果您尝试在构造函数中对其进行测试,它将无法正常工作。尝试添加一个按钮。
<button (click)="onClick()">Click </button>。那就叫它onClick(){this.formControlReset.emit(true);}