2017-05-01 1 views
3

나는 약간의 연구를했는데 그것이 있어야하는 것처럼 간단하지는 않다는 것을 알고 놀랐습니다.formBuilder를 사용하여 angular2에서 선택 드롭 다운을 바인딩 할 수 있습니까?

ngModel을 사용하는 몇 가지 방법이 있습니다. Bind and fetch dropdown list value in typescript and Angular2 및 기타와 같습니다. 하지만 쉽게 내 선택한 옵션을 내 formControlName var에 바인딩 할 수 있기를 원합니다.

이 내가 시도 것입니다 :

.HTML

<form id="myForm" name="father" [formGroup]="fatherForm" (ngSubmit)="createFather()"> 
    <div class="row"> 
     <select formControlName="pref" id="f"> 
       <option value=null disabled selected>Prefijo</option> 
       <option *ngFor="let item of prefs" [ngValue]="hola">{{item.name}}</option> 
      </select> 

     </div> 
</form> 

.TS

fatherForm: FormGroup; 

this.fatherForm = this.formBuilder.group({ 
      pref: ['AA'] 
}); 

this.prefs=[ 
    {name: "AA"}, 
    {name: "BB"} 
    ]; 

기본값으로 작동합니다. 그러나 BB를 선택하면 기본값이 선택됩니다. 기본값은 '내가 잘못하고있는 중이 야 무엇 Bind Select List with FormBuilder Angular 2

에 해리 - 닌에 의해

이 방법 제안'을 할 때 같은 됩니까?

참고 : 물론 양식의 다른 입력 사항이 있습니다. 간략하게하기 위해 무시되었습니다.

편집

나는이 plunkr에서 동일한 예제를 사용하여 시도하고이 중 하나가 작동하지 않습니다. http://plnkr.co/edit/Rf9QSSEuCepsqpFc3isB?p=preview 양식을 보낸 후 값을 건드리지 않았 음을 나타냅니다.

<form id="myForm" name="father" [formGroup]="fatherForm"> 
    <div class="row"> 
    <select formControlName="pref" id="f"> 
      <option value=null disabled selected>Prefijo</option> 
      <option *ngFor="let item of prefs" [value]="item.name">{{item.name}}</option> 
     </select> 

    </div> 
    <button type="submit">Submit</button> 
</form> 
<p>Value: {{ fatherForm.value | json }}</p> 

name:string; 
fatherForm : FormGroup; 
prefs=[ 
{name: "AA"}, 
{name: "BB"} 
]; 
constructor(fb:FormBuilder) { 
    this.fatherForm = fb.group({ 
    pref : [this.prefs.name] 
}); 
} 

을 다음과 같은

debug info

+0

당신이 [링크]를 체크하십시오 도움이 될 것입니다 (http://stackoverflow.com/questions/39689049/drop-down-list-in-angular-2-model-driven-form) –

답변

5

안녕 나는 해 주시기 바랍니다 그리고 나는 또한 plunkr 작업 만들었습니다.

희망이 당신

+0

답변 해 주셔서 감사합니다. 내가 왜 작동하지 않는지 알 겠어. 당신이 제공 한 plunkr에서 이것이 완벽하게 작동 할 때조차도. 하지만 여기에 약간의 문제가 있습니다 ... ''name '속성이'{name : string; } [pref var를 검사 할 때 "name"이라는 속성이 있다고 분명하게 말하면 왜 그곳에서 무슨 일이 벌어지기 때문에 전혀 이해가되지 않습니까? –

+0

코드를 업데이트 했습니까? 그렇다면 여기에서 시도한 것을 업데이트 할 수 있습니까? 또한 오류 스크린 샷을 게시합니다. –

관련 문제