Ne peut pas désactiver matInput avec élément [formControlName]

Je suis en utilisant matInput et mat-form-field (@angulaire/matériel) dans Angulaire de la composante, et je ne peux pas désactiver le matInput.

Un exemple peut être vu ici.

Il semble probable que je suis absent quelque chose d'évident, mais pour la vie de moi je ne peux pas comprendre ce que. Est-ce un bug?

Si je supprime [formControlName] de la CustomFormInputComponent, alors je peux réussir à désactiver le matInput

CustomFormInputComponent:

import { Input, Component } from '@angular/core';
import { FormGroup } from '@angular/forms';

@Component({
  selector: 'app-custom-form-input',
  template: `
    <mat-form-field [formGroup]="form">
      <input matInput placeholder='Name' [formControlName]="formControlName" [disabled]='disabled'>
    </mat-form-field>
  `,
})
export class CustomFormInputComponent  {
  @Input() form: FormGroup;
  @Input() formControlName: string = 'name';
  @Input() disabled = false;
}

AppComponent:

import { Component } from '@angular/core';
import { FormBuilder } from '@angular/forms';

@Component({
  selector: 'my-app',
  template: `
    <p>At least one of these inputs should be disabled, but none are :(</p>

    <app-custom-form-input [form]="form" [disabled]='true'></app-custom-form-input>

    <app-custom-form-input [form]="form" [disabled]="'disabled'"></app-custom-form-input>
  `,
})
export class AppComponent  {
  public form: any;

  constructor(private fb: FormBuilder) {}

  ngOnInit() {
    this.form = this.fb.group({
      name: ''
    })
  }
}

De toutes les suggestions sont grandement appréciés!

Réponse

Pour un peu plus de contexte sur David réponse: Angulaire des mises à jour DOM l'état fondée sur le handicap d'un réactif de contrôle de formulaire. Ce que je pense qui se passe: angulaire est rendu le CustomFormInputComponent avant la AppComponent et est rendu le composant désactivé. Puis le AppComponent est rendue et la form est construit avec la name control est activé. Angulaire va alors et onu-désactivé DOM l'élément d'entrée (ce qui est le comportement comme prévu).

InformationsquelleAutor John | 2018-01-25