Angular2反应形式选择多个属性?

Max*_*lid 4 forms select reactive angular

我在我的应用程序中使用以下代码与反应形式.

如果我取消注释该[multiple]行,则选择...选项不会将dformControl表单控件对象设置回状态INVALID.

dformControl.multiple顺便回来false.即使我将注释行更改为[multiple]="false",仍然切换回选择...选项不会将表单控件状态设置为INVALID.

<select class="form-control"
        [id]="dformControl.key"
        [formControlName]="dformControl.key"
        /*[multiple]="dformControl.multiple"*/>

  <option *ngIf="!dformControl.value"
          value="">
    Choose ...
  </option>

  <option *ngFor="let opt of dformControl.options"
          [value]="opt.value"
          [selected]="dformControl.value == opt.value">
    {{opt.label}}
  </option>

</select>
Run Code Online (Sandbox Code Playgroud)

Edu*_*nis 7

绑定到multiple选择级别的属性为布尔值isMultiple.然后你可以改变它,选择也会改变.看看这个,我用一个按钮改变它.plnkr

  <select formControlName="cars" [multiple]="isMultiple">
      <option></option>
      <option *ngFor="let car of cars" >{{car}}</option>
  </select>
Run Code Online (Sandbox Code Playgroud)

似乎在添加多个属性时它会影响所需的验证器.我能够添加一个额外的验证器,它按预期工作.

Validators.compose([Validators.required,Validators.pattern('.+')]
Run Code Online (Sandbox Code Playgroud)