Joa*_*Gil 3 typescript angular2-formbuilder angular
我做了一些研究,我很惊讶地发现它并不像应该的那样直截了当.
我知道有一些使用ngModel的方法.就像在typecript和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>
Run Code Online (Sandbox Code Playgroud)
.TS
fatherForm: FormGroup;
this.fatherForm = this.formBuilder.group({
pref: ['AA']
});
this.prefs=[
{name: "AA"},
{name: "BB"}
];
Run Code Online (Sandbox Code Playgroud)
默认值有效.但是当我选择BB时,仍然会选择默认值.当默认值为''时会发生同样的情况
这种方法由Harry-ninh在FormBuilder Angular 2的Bind Select List中提出
我究竟做错了什么?
注意:当然,表单中还有其他输入,为简单起见,忽略它们.
编辑
我尝试在这个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>
Run Code Online (Sandbox Code Playgroud)
和
name:string;
fatherForm : FormGroup;
prefs=[
{name: "AA"},
{name: "BB"}
];
constructor(fb:FormBuilder) {
this.fatherForm = fb.group({
pref : [this.prefs.name]
});
}
Run Code Online (Sandbox Code Playgroud)
我也创造了工作的plunkr.
希望对你有帮助
| 归档时间: |
|
| 查看次数: |
4982 次 |
| 最近记录: |