我正在使用<ion-select>
下拉列表,它按预期工作,但我想要的是来自<ion-select>
的所选选项的索引
我使用了<ion-select>
并更改了如下所示的事件:
<ion-select class="myCustomSelect" [(ngModel)]="selectedProductDD" interface="popover" (ionChange)="onSelectChange($event)">
<ion-option *ngFor="let selectedProduct of productArray" [value] = selectedProduct.pid>{{ selectedProduct.pid }} </ion-option>
</ion-select>
更改活动:
onSelectChange(selectedValue: any) {
//Here I want Index also.
//Currently I am getting selected Value.
}
让我知道是否有人可以帮助我!
提前致谢。
答案 0 :(得分:2)
在*ngFor
中,您还可以定义一个变量来接收que index
<ion-select class="myCustomSelect" [(ngModel)]="selectedProductDD" interface="popover" (ionChange)="onSelectChange($event)">
<!-- you can also have your index by declaring a variable in ngFor that'll receive the index -->
<ion-option *ngFor="let selectedProduct of productArray; let i = index" [value] = selectedProduct.pid>{{ selectedProduct.pid }} </ion-option>
</ion-select>
此处的情况是您声明的索引位于ion-select
内,因此无法用于onSelectChange
方法。因此,在.TS文件中声明一个属性
public myIndex: number = 0;
每次用户选择一个选项时,该属性都会收到索引
<!-- on selecting an option your myIndex will receive the current selected option index -->
<ion-option *ngFor="let selectedProduct of productArray; let i = index" [value]=selectedProduct.pid (ionSelect)="myIndex = i">{{ selectedProduct.pid }}</ion-option>
然后您可以在onSelectChange()
onSelectChange(selectedValue: any) {
let index = this.myIndex;
}
还有另一种选择,但这是最直接的方式。希望这会有所帮助。