【问题标题】:Angular 2 Reactive Forms - Binding select drop down value in form array of a reactive formAngular 2 Reactive Forms - 在反应表单的表单数组中绑定选择下拉值
【发布时间】:2017-09-02 10:43:01
【问题描述】:

我创建了一个具有表单数组的反应式表单。单击按钮将表单组推入表单数组。所以每次点击按钮都会在屏幕上生成一段 html。

此表单组包含 2 个具有父子关系的下拉列表,即在父下拉列表中选择项目决定要在子下拉列表中填充的值。

当我在父下拉更改事件中选择一个值时,会为子级获取结果,但这必须限制在特定表单数组元素的范围内。当前更改事件获取数据并为每个表单数组元素中的子下拉菜单设置值。这是我标记的基本结构

<form [formGroup] = "mainForm" (ngSubmit)="savedata()">
<div>some form control</div>
<div formArrayName = "myArray" *ngFor="let arrayitem of myArray.controls";let i = index">
<div [formGroupName] = "i">
<div>
 <select class="form-control" (change)="onSelect($event.target.value)" id="{{'header' + i}}" formControlName="parentdrpdown">
 <option value="" disabled selected hidden>Select a Parent...</option>
 <option *ngFor="let pitem of parentdrpdown"
         value={{pitem.id}}>
         {{pitem.name}}
 </option>
 </select>
</div>
<div>
 <select class="form-control" (change)="onSelect($event.target.value)" id="{{'header' + i}}" formControlName="childdrpdown">
 <option value="" disabled selected hidden>Select a Child...</option>
 <option *ngFor="let citem of childdrpdown"
         value={{citem.id}}>
         {{citem.name}}
 </option>
 </select>
</div>
</div>    
</div>

constructor(private fb: 
 FormBuilder, private _segService: SegmentService) {
    this.parentdrpdown= this._segService.getparentValues();

onSelect(pid) {
    this.childdrpdown= this._segService.getChildSegment()
        .filter((item) => item.parentid == pid);
 }

parentdrpdown 和 childdrpdown 是在组件中声明的属性,它们使用对 Web 服务器的 http get 请求加载值

【问题讨论】:

    标签: angular2-forms angular2-formbuilder


    【解决方案1】:

    在选择标签的情况下,使用下面的 sn-p 以反应形式的代码。

    <h1>My Application</h1>
    <select formControlName="selectedValue">
       <option *ngFor="let c of countries" [ngValue]="c">{{c.name}}</option>
    </select>
    

    【讨论】:

    • 这里父子下拉的概念在哪里?
    猜你喜欢
    • 1970-01-01
    • 2018-04-11
    • 1970-01-01
    • 2018-11-11
    • 2017-05-06
    • 2019-12-18
    • 2018-05-26
    • 2021-12-30
    • 2017-04-01
    相关资源
    最近更新 更多