2017-04-13 171 views
0

我在FormArray中使用md-checkbox角2 - 材料2複選框 - 複選框[默認]默認

private protocolArray: FormArray = new FormArray([ 
    new FormControl('tcp'), 
    new FormControl('udp') 
]); 

<div class="form-group" formArrayName="protocol"> 
     <md-checkbox formControlName="0" [checked]="true">TCP</md-checkbox> 
     <md-checkbox formControlName="1" [checked]="false">UDP</md-checkbox> 
</div> 

當它呈現時,默認情況下都選中。如果我擺脫md-checkbox並使其正常input type="checkbox"事情完美呈現。

什麼給?

回答

0

我發現FormArray只採用布爾值,所以通過將它用'tcp'或'udp'實例化它類型鑄造它們到true。我不得不調整我的代碼來解決它,但創建具有true或false的數組修復它。

最終代碼:

private protocolArray: FormArray = new FormArray([ 
    new FormControl(true), 
    new FormControl(false) 
]); 

<div class="form-group" formArrayName="protocol"> 
    <md-checkbox formControlName="0" >TCP</md-checkbox> 
    <md-checkbox formControlName="1" >UDP</md-checkbox> 
</div>