【发布时间】:2019-09-23 09:35:24
【问题描述】:
当我选择第一个父子数组时,它会选择所有其他父子数组。我知道这是因为索引 0 对每个人都保持不变。我如何从孩子中选择特定的一个并突出显示它。
我尝试过比较父母和孩子的索引,但即使这样我也无法选择特定的孩子数组。
home.html
<style>
.highlight {
background-color:#777;
}
</style>
<ion-item *ngFor="let date of testList">
{{date.date}}
<ion-item *ngFor="let item of date.item; let i= index" [class.highlight]="i == selectedOne" (tap)="onSelected(i)">
{{item.name}}
</ion-item>
</ion-item>
home.ts
public testList: any[] = [
{
date: 'test1',
item: [ {
name:'tony',
id:23
},
{
name:'shawn',
id:12
},
{
name:'rancho',
id:33
}
]
},
{
date: 'test2',
item: [ {
name:'Monty',
id:345
},
{
name:'Bob',
id:321
},
{
name:'Dexter',
id:324
}
]
},
{
date: 'test3',
item: [ {
name:'Trillo',
id:234
},
{
name:'Stenly',
id:12
},
{
name:'Destro',
id:123
}
]
}
]
public selectedOne: boolean
onSelected(index) {
if (this.selectedOne != index) {
this.selectedOne = index;
} else {
this.selectedOne = null;
}
}
【问题讨论】:
-
我们可以根据文本而不是索引进行选择吗?
-
我们可以修改您提供的对象数组吗?
-
嘿,Asim,名称和 ID 将是动态的,我将从后端获取它。是的,我们可以,但它应该像图片一样显示,先是父元素,然后是子元素
标签: javascript angular typescript ionic3 ngfor