【发布时间】:2020-08-12 18:13:02
【问题描述】:
我的网站上有设置,我需要用默认值填充所有字段 - 我的用户的当前设置。
用户输入他的设置后,我发出一个异步 GET 请求,完成后,我需要将他的设置作为默认值传递给我的表单字段。
据我所知,我可以使用以下语法传递默认值:
this.validateForm = this.fb.group({
language: ['default_value', [Validators.nullValidator]],
timeZone: ['default_value', [Validators.nullValidator]],
firstName: ['default_value', [Validators.nullValidator]],
lastName: ['default_value', [Validators.nullValidator]],
gender: ['default_value', [Validators.nullValidator]],
address: ['default_value', [Validators.nullValidator]]
});
但是看,Angular 需要我在构造函数中立即初始化这个表单组,但我不能,因为异步请求需要一些时间,直到它,字段必须为空。
此外,我认为在 HTML 中执行此操作要容易得多,例如通过使用 ngModel,但它不适用于 formControl 或 [value] 但这也不是解决方案,因为表单控制只是忽略我传递给 [value] 属性的信息,并且无法将 [value] 传递给选择,因为我不仅使用常规 HTML,而且使用 Ng-Zorro 并且它没有 [value] 属性。
【问题讨论】:
标签: angular forms asynchronous rxjs angular-cli