我有一个动态表单,我使用多个可观察对象来加载数据。当所有可观察对象都发出值时,我想将表单设置为原始状态。唯一的问题是我的一个可观察对象在里面...
我有一个动态表单,我使用多个可观察对象来加载数据。当所有可观察对象都发出值时,我想将我的表单设置为原始状态。唯一的问题是我的一个可观察对象位于 setTimeout 内,我无法更改该部分代码。有没有其他方法可以将我的表单设置为原始状态?比如有什么方法可以让 CombineLatest 等待 setTimeout 内的可观察对象?
在这里,当所有可观察对象发出值时,我将形式设置为原始状态。
combineLatest(this.exceptionTypes$, this.currencyList$, this.priorityList$, this.dataTypeList$, this.escalationLevelList$, this.synchronisationList$)
.subscribe(val => {this.caseOverviewForm.markAsPristine()})
这是我在 setTimeout 中最后一个可观察对象的问题,我无法改变它。这会影响最新的组合触发。
private _loadSynchronistionList(): void {
setTimeout(() => {
this.synchronisationList$ = of(SYNCHRONISATION_LIST).pipe(mapAndPatch(this.caseOverviewForm, FormFields.synchronisation, this.detail.id!));
});
}