为什么更改事件不能用于离子选择?
我尝试了以下声明:
<ion-select formControlName="shippingMethod (change)="shippingMethodChange($event)">
我也尝试使用ionChange,这是有效的:
<ion-select formControlName="shippingMethod (ionChange)="shippingMethodChange($event)">
有人说“我们可以使用Angular事件绑定来响应任何DOM事件”,这里是更改事件的文档
答案 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);
}