title: Mat-select with *ngIf causing ExpressionChangedAfterItHasBeenCheckedError
body: <p>I have a <code>mat-form-field</code> which I want to contain an input or a select.</p>
  <p>When I use an &lt; input &gt; the <code>*ngIf</code> works fine. However, when I use a <code>&lt; mat-select &gt;</code> like below it throws the <code>'ExpressionChangedAfterItHasBeenCheckedError'</code>.</p>
  <p>I think this has only started happening since I've updated my angular versions to:</p>
  <blockquote>
  <p>Angular CLI: 8.2.1<br />
  Node: 10.16.2<br />
  Angular: 9.0.0-next.1</p>
  </blockquote>
  <p>Why should it work with an input and not a select?</p>
  <p>Here is the html:</p>
  <pre><code>&lt;mat-form-field&gt;
    &lt;input *ngIf=&quot;input.name!=='Bid'&quot; matInput [(ngModel)]=&quot;input.value&quot;&gt;
    &lt;mat-select *ngIf=&quot;input.name==='Bid'&quot; [(value)]=&quot;input.value&quot;&gt;
      &lt;mat-option *ngFor=&quot;let s of statuses&quot; name=&quot;status&quot; [value]=&quot;s&quot;&gt;{{s}}&lt;/mat-option&gt;
    &lt;/mat-select&gt;
    &lt;mat-placeholder class=&quot;placeholder&quot;&gt;{{input.name}}&lt;/mat-placeholder&gt;
  &lt;/mat-form-field&gt;
  </code></pre>
  <p>The input.name properties are set in a method called in the ngOnInit() like so:</p>
  <pre><code>ngOnInit() {
    this.prepareInputs();
  }
  </code></pre>