Angular2 enable/disable http 响应上的表单控件不起作用

Angular2 enable/disable formcontrol on http response not working

我有 formcontrol,当我提供 [disable]="xyz" 其中 xyz 是从 http 响应分配的组件中的变量时,angular2 给出以下警告。

您似乎在将 disabled 属性与反应式表单指令一起使用。如果你设置 disabled 为 true 当您在组件 class 中设置此控件时,disabled 属性实际上将在 DOM 中设置为 你。我们建议使用这种方法来避免 'changed after checked' 错误。

  Example: 
  form = new FormGroup({
    first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),
    last: new FormControl('Drew', Validators.required)
  });

所以我尝试禁用使用以下但不起作用

this.form = this.fb.group({'type': [{ value: '', disabled: this.xyz },[Validators.required]]});

你可以这样做:

yourHttpFunction(){
 if(controlShouldBeDisabled){
  this.form.controls['first'].disable()
 }

}