1

在进行异步调用以获取. "@angular/forms": "~2.1.0"_"angular-cli": "1.0.0-beta.19-3"FormGroupcampaignFormcampaign_config_idcampaignConfigs

我已经尝试按照另一个 SO 建议使用以下内容,但我得到了TypeError: _this.campaignForm.controls.campaign_config_id.updateValue is not a function.

this.campaignConfigService.getCampaignConfigs()
  .subscribe(
    campaignConfigs => {
      ...
      this.campaignForm.controls['campaign_config_id'].updateValue(campaignConfigs[0].id)
    }
  );

我也尝试过强制this.campaignForm.controls['campaign_config_id']转换为NgControl,和其他对象FormControlSelectControlValueAccessor但它们都没有.updateValue功能。

关于如何最好地做到这一点的任何建议?

4

2 回答 2

5

我认为处理表单最灵活的方法是使用“ReactiveForms”并使用 FormBuilder 类创建表单。

请研究响应式表单和 FormGroup/FormBuilder,最后您可以执行以下操作:this.form.controls['campaign_config_id'].setValue(yourIdValue)

于 2016-11-15T22:31:19.423 回答
4

updateValue()已弃用。setValue()改为用于所有类型的表单控件。

于 2016-11-15T22:29:29.157 回答