【发布时间】:2016-11-12 01:46:55
【问题描述】:
在 Angular 2 中,创建一个简单的应用程序,但是当 formBuilder 在 select list 的情况下附加了 DOM 控件时,第一个选项变为空白 - 即使我在 formBuilder 中提供了一些初始值,该值也不会出现在 DOM 元素中
在 FomBuilder 之前
选择列表
一般
LDAP
在 FomBuilder 之后
选择列表
最初没有出现任何选项
一般
LDAP
文件 1 - form.component.ts
import { Component } from '@angular/core';
import { FormBuilder, Validators, REACTIVE_FORM_DIRECTIVES, FormGroup, FormControl } from '@angular/forms';
@Component({
moduleId : module.id,
selector : 'login',
templateUrl : 'login.component.html',
directives : [ REACTIVE_FORM_DIRECTIVES ],
})
export class LoginComponent{
loginForm : FormGroup;
constructor(private _router:Router,private _fb:FormBuilder){
this.loginForm = _fb.group({
'username' : ['aa',[Validators.required]],
'password' : ['',[Validators.required]],
'type' : ['']
})
}
}
loginUser(){
console.log("Form is = ",this.loginForm.controls);
}
文件 2 - form.component.html
<form [formGroup]="loginForm" id="form-login"(submit)="loginUser()">
<div class="form-group">
<div class="col-xs-12">
<div class="input-group">
<input formControlName="username" type="text" id="login-username">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<div class="input-group">
<input formControlName="password" type="password" id="login-password">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<div class="input-group">
<select formControlName="type" class="form-control input-lg" id="login-type">
<option value="Non-LDAP">General</option>
<option value="LDAP">LDAP</option>
</select>
</div>
</div>
</div>
<button type="submit" class="btn btn-sm btn-primary">Login to Dashboard</button>
【问题讨论】:
-
'type' : ['General'] -
没有我的朋友 - 选择列表最初仍然是空白的,我已经尝试过,因为这为 DOM 提供了初始值但不起作用
标签: typescript angular angular2-template angular2-forms