如何在离子选择

时间:2018-01-16 12:32:38

标签: ionic2 ion-select

我正在使用<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.
}

让我知道是否有人可以帮助我!

提前致谢。

1 个答案:

答案 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;
}

还有另一种选择,但这是最直接的方式。希望这会有所帮助。