离子2:为什么改变事件不能用于离子选择?

时间:2017-01-16 08:06:57

标签: angular ionic2

为什么更改事件不能用于离子选择?

我尝试了以下声明:

<ion-select formControlName="shippingMethod (change)="shippingMethodChange($event)">

我也尝试使用ionChange,这是有效的:

<ion-select formControlName="shippingMethod (ionChange)="shippingMethodChange($event)">

有人说“我们可以使用Angular事件绑定来响应任何DOM事件”,这里是更改事件的文档

https://developer.mozilla.org/en-US/docs/Web/Events/change

3 个答案:

答案 0 :(得分:8)

ion-select是Ionic 2的自定义组件。检查api here。 它是通过离子利用基于开发人员要求的alertController/actionsheetcontroller构建的。

它不像HTML选择那样使用更改事件,并且发出的正确事件是ionChange

修改 点击ion-option时发出的事件为ionSelect

选中github issue

组件文档here

希望这能回答你的问题。

答案 1 :(得分:2)

您可以通过以下方式使用它:

  <ion-select [(ngModel)]="gender" (ionChange)="onSelectChange($event)">
    <ion-option value="G">Colombo</ion-option>
    <ion-option value="M">Galle</ion-option>
  </ion-select>

然后在您的.ts文件中:

  onSelectChange(selectedValue: any) {
    console.log('Selected', selectedValue);
  }

答案 2 :(得分:1)

问题不断出现。根据{{​​3}} ionSelect是选项上的输出事件(离子选项)

以下是一个示例用法

<ion-select>
  <ion-option *ngFor="let opt of options" [value] = "opt" (ionSelect)="triggerMe(opt)">{{opt}}</ion-option>
</ion-select>

然后

triggerMe(value: string): void {
  console.log("selected value", value);
}