Angular 4 / Reactive form and json as select value -
i have reactive form created in component:
this.details = this.formbuilder.group({ status: {} });
then in template have:
<select class="form-control" formcontrolname="status"> <option *ngfor="let status of formvalues?.status" [ngvalue]="status">{{status.name}} {{status.description}}</option> </select>
and onchanges called:
this.details.setvalue({ status: this.data.status });
the idea is, have single select, has have object value. can't make status nested formgroup, since have spitted 3 formcontrols. works fine, despite setvalue. select not getting default data. however, when change option in select, form model updates correctly.
any ideas :)?
first off syntax option is: <option *ngfor="let entry of entries" [value]="entry">{{entry}}</option>
value
instead of ngvalue
. secondly u need use 2 way data biding right values emited template model , not other way. add [(ngmodel)]
select
<select [(ngmodel)]=status...
>
one more thing suggested changing name in form builder don't have clash in ngfor loop status:{}
, *ngfor="let status of formvalues?.status
usage example ngmodel , select official docs (link below):
<div class="form-group"> <label for="power">hero power</label> <select class="form-control" id="power" required [(ngmodel)]="model.power" name="power"> <option *ngfor="let pow of powers" [value]="pow">{{pow}}</option> </select> </div>
Comments
Post a Comment