如何根据选择的单选按钮显示/隐藏列表项的div?如果我选择第一个单选按钮,则应显示项目[0]。如果我选择第二个单选按钮,则现在隐藏项目[0]并显示项目[1]。我不确定这项工作的最佳做法是什么,因为我已经有了* ngFor,你无法将它与* ngIf结合起来。 :(在组件中设置一个布尔变量似乎只是切换整个部分,这不是我正在寻找的。 p>
HTML
<section>
<ul>
<li>
<input [(ngModel)]="regionSelected" type="radio" id="radio">
<label>Europe</label>
</li>
<li>
<input [(ngModel)]="regionSelected" type="radio" id="radio">
<label>USA</label>
</li>
</ul>
</section>
<section *ngIf="regionSelected">
<div *ngFor="let item of result; let i=index" [ngClass]="{'europe': i === 0, 'usa': i === 1}">
<h3>{{item.title}}</h3>
</div>
</section>
有什么想法吗?
答案 0 :(得分:0)
这样的事可能吗?
组件中的方法:
getRadioIndex(regionSelected: string){
if(regionSelected === 'Europe'){
return 0;
}
if(regionSelected === 'Europe'){
return 1;
}
}
模板:
<section *ngIf="regionSelected">
<span *ngFor="let item of result; let i=index">
<div *ngIf="i === getRadioIndex(regionSelected)" [ngClass]="{'europe': i === 0, 'usa': i === 1}">
<h3>{{item.title}}</h3>
</div>
</span>
</section>
答案 1 :(得分:0)
<div>
<section>
<ul>
<li>
<input [(ngModel)]="regionSelected" type="radio" id="radio">
<label>Europe</label>
</li>
<li>
<input [(ngModel)]="regionSelected" type="radio" id="radio">
<label>USA</label>
</li>
</ul>
</section>
<section *ngIf="regionSelected">
<div *ngFor="let item of result; let i=index"
[ngClass]="{'europe': i === 0, 'usa': i === 1}"
*ngIf="i === regionSelected">
<h3>{{item.title}}</h3>
</div>
</section>
</div>