我们如何使用* ngFor循环角度5创建多个动态下拉列表

时间:2018-06-27 13:55:09

标签: angular

我有一个下拉列表,我正在使用Angule5这样创建DOM结构

<div *ngFor="let dropdownof ListOfDropdown" class="md-form form-lg">
<select name="function">
     <option *ngFor="let option of optionList" value={{option .id}} required>{{option .value}}</option>
</select>
</div>
我在.ts文件中的

我有3个后端服务供您选择。一项服务,没有下拉菜单

 public getCountry(){//some logic} 
 public gettype(){//some logic}
 public getlang(){//some logic}

 public getDropdownList(){//some logic}

现在问题是它正在创建3下拉菜单,但是选项在重复,所有列表中仅显示getlang!请帮助

2 个答案:

答案 0 :(得分:1)

对于每个下拉列表,它都应该具有数据收集。 你可能会有类似的东西:

        private countries: any[];
        private types: any[];
        private langs: any[];

        public dropDowns: any[] = [
              { data: countries },
              { data: types },
              { data: langs },
        ];

并在模板中:

        <div *ngFor="let dropDown of dropDowns" class="md-form form-lg">
         <select name="function">
          <option *ngFor="let option of dropDown.data" value={{option .id}} required>{{option .value}}</option>
         </select>
        </div>

与此相关,您在下拉列表上有一个数组,每个数组都有一个数据数组。 那么模板必须仅在dropDown数组上显示每个元素的属性dropDown.data

答案 1 :(得分:0)

您可以尝试使用此解决方案

输入*ngFor="let dropdown of ListOfDropdown"[value]="option.id"的适当的同位符

<div *ngFor="let dropdown of ListOfDropdown" class="md-form form-lg">
<select name="function">
     <option *ngFor="let option of optionList" [value]="option.id" required>{{option .value}}</option>
</select>
</div>