2017-03-28 10 views
3

私のアプリケーションでは、反応するフォームで次のコードを使用します。私は[multiple]行のコメントを解除した場合Angular2反応形式は複数の属性を選択しますか?

オプションは、ステータスINVALIDに戻っdformControlフォームコントロールオブジェクトを設定しません...選択してください。

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> 

答えて

4

選択レベルのプロパティをブール値isMultipleにバインドします。その後、それを変更することができ、選択も同様に変更されます。これを見て、ボタンを使って変更します。 plnkr

複数のプロパティを追加すると、必要なバリデータに影響しているようです。私はちょうど余分なバリデータを追加することができ、それは期待どおりに働いた。

Validators.compose([Validators.required,Validators.pattern('.+')] 
+0

もしこれが別の問題であると正確に読めば、 –

+0

あなたはこの解決策を得ましたか? –

+0

'dformControl.multiple'が' true'を返す場合は複数選択でなければなりません。 'false'を返す場合はistを通常のselectにする必要があります。 –

関連する問題