我有一个由5个按钮组成的循环,我想禁用第二个按钮,因此我尝试在*ngIf
内使用*ngFor
,但对我来说无法正常工作。你能帮助我吗?谢谢!
<div *ngFor="let day of days">
<div *ngIf="day == dayFinished ">
<ion-button id={{day}} expand="block" size="large (click)="test(day)"ngDefaultControl [(ngModel)]="days" disabled >DAY {{day}}</ionbutton>
</div>
</div>
答案 0 :(得分:2)
您可以尝试
如果要禁用循环中的第二个按钮,则可以设置i==1
(因为索引始终从0开始)
<div *ngFor="let day of days; let i=index">
<div *ngIf="day == dayFinished ">
<ion-button id={{day}} expand="block" size="large (click)="test(day)" ngDefaultControl [(ngModel)]="days" [disabled]="i==1" >DAY {{day}}</ionbutton>
</div>
我希望这会有用
答案 1 :(得分:1)
您可以将索引与ngFor
一起使用。
这是您可以做的方式
<div *ngFor="let day of days; let i=index">
<div *ngIf="day == dayFinished ">
<ion-button id={{day}} expand="block" size="large (click)="test(day)"ngDefaultControl [(ngModel)]="days" [disabled]="i==1" >DAY {{day}}</ionbutton>
</div>
index
始终从0开始,因此请选中i==1
答案 2 :(得分:1)
您可以在ngFor中使用函数,而不是像这样的数组
在您的html =>
中<div *ngFor="let day of filterDays()">
<ion-button id={{day}} expand="block" size="large (click)="test(day)"ngDefaultControl [(ngModel)]="days" disabled >DAY {{day}}</ionbutton>
在您的组件中=>
filterDays(){
return days.filter(x => x.day == "dayFinished");
}