1

のリストを取得するために非同期呼び出しを行った後、 and を使用して、 の () 属性"@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']へのキャストも試みましたが、どれも関数を持っていません。NgControlFormControlSelectControlValueAccessor.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 に答える