【发布时间】:2019-04-04 07:14:22
【问题描述】:
我的 UI 中有 2 个选择菜单(具有相同的选项)。如果我在第一个选择菜单中选择菜单选项,那么另一个选择菜单应该反映相同的选项,反之亦然。
目前我在第一个 formControl 上使用 valueChanges 方法来更新第二个。 如果我对第二个表单控件也使用相同的控件,那么我将收到“超出最大调用堆栈大小”错误。
所以请建议如何在两个选择菜单的值发生变化时更新它们。
代码如下所示。
使用的表单控件有:
// Form group for Simple Search
this.simpleSearchForm = this.formBuilder.group({
orderType: [''],
searchBy: [''],
searchCriteria: ['']
});
// Form Group for Advanced Search
this.advancedSearchForm = this.formBuilder.group({
orderType: [''],
searchBydateField: [''],
dateRangeFrom: [''],
dateRangeTo: [''],
filterResultsBy: ['']
});
用于更改高级表单控件。
//Change in simple form should reflect the change in advanced form
this.simpleSearchForm.get('orderType').valueChanges.subscribe(data => {
this.advancedSearchForm.get('orderType').setValue(this.simpleSearchForm.get('orderType').value);
});
【问题讨论】:
标签: angular typescript typescript2.0