Angular 爱奥尼亚3&;角度4:从视图中的2个循环中生成离子选择

Angular 爱奥尼亚3&;角度4:从视图中的2个循环中生成离子选择,angular,ionic3,ion-select,Angular,Ionic3,Ion Select,我正在尝试从视图中的阵列生成多个离子选择 说明: 我有一个这样的数组: this.childrenTags = [ [ { 'id_tag': 1, 'label': 'test-1' } ], [ { 'id_tag': 1, 'label': 'test-1' }, { 'id_tag': 2, 'label': 'test-2' }, { 'id_tag': 3, 'label': 'test-3' }

我正在尝试从视图中的阵列生成多个离子选择

说明:

我有一个这样的数组:

this.childrenTags = [
    [
        { 'id_tag': 1, 'label': 'test-1' }
    ],
    [
        { 'id_tag': 1, 'label': 'test-1' },
        { 'id_tag': 2, 'label': 'test-2' },
        { 'id_tag': 3, 'label': 'test-3' }
    ]
]
我想在我的视图中生成ion select,以便为该变量选择2个选项: 一个选择仅显示“测试-1”,第二个选择显示“测试-1”、“测试-2”、“测试-3”

我有一个这样做的第一个循环:

<ion-row *ngFor="let parentLabel of parentsTags; index as k;">
     <ion-label stacked>{{parentLabel}} - {{k}}</ion-label>
     <tags-list-component [tagsList]="childrenTags" [index]="k"></tags-list-component>
</ion-row>
此溶液仅显示且始终显示2离子选择,值为:“test-1”、“test-2”、“test-3”。它总是从childrenTags中获取最后的元素。 知道为什么吗?
谢谢。

每次您的父组件将相同的索引(k)传递给
标记列表组件时。在您的情况下,它是最后一个索引。原因是第一个
*ngFor
循环在
parentTags
上完成了执行,第二个
*ngFor
循环在
childrenTags
上执行。我找到了解决方案:我正在使用Ionic AlertController生成一个警报窗口,里面有我的复选框,就像
中所说的,谢谢你的回答。我明白,但这很奇怪。我用一个简单的html而不是元素做了一个测试,它工作正常。。。
<ion-select id="children-tag-{{index}}" required cancelText="{{'buttons.cancel' | translate}}">
    <ion-option *ngFor="let tag of tagsList[index]" value="{{tag.id_tag}}-{{index}}">{{tag.label}} - {{index}}</ion-option>
</ion-select>