【问题标题】:Bind Select List with FormBuilder Angular 2使用 FormBuilder Angular 2 绑定选择列表
【发布时间】: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>                            

【问题讨论】:

标签: typescript angular angular2-template angular2-forms


【解决方案1】:

您需要将选择值初始化为“值”,而不是文本:

'type': ['Non-LDAP']

【讨论】:

猜你喜欢
  • 2017-06-27
  • 1970-01-01
  • 2018-02-28
  • 2017-12-11
  • 2018-05-01
  • 2017-12-19
  • 2023-03-14
  • 2018-09-13
  • 1970-01-01
相关资源
最近更新 更多