ionic-framework
ionic-framework copied to clipboard
bug: (ionChange) event of ion-picker-column not fired on iOS devices
Prerequisites
- [X] I have read the Contributing Guidelines.
- [X] I agree to follow the Code of Conduct.
- [X] I have searched for existing issues that already report this problem, without success.
Ionic Framework Version
v7.x
Current Behavior
In a blank angular ionic project I tested the ion-picker in modal as described here: https://ionicframework.com/docs/api/picker#picker-in-modal
The ionChange event of the ion-picker-column (see https://ionicframework.com/docs/api/picker-column#events) works fine ONLY on android devices when the value change. In iOS nothing is fired.
Expected Behavior
Same behavior as Android
Steps to Reproduce
- create a blank angular ionic project
- Insert code as the documentation in the
home.page.html,home.poge.tsandhome.page.scssfiles: https://ionicframework.com/docs/api/picker#picker-in-modal - To check the bug add in
home.page.tsone line to theonIonChangefunction:
onIonChange(event: CustomEvent) {
console.log("onIonChange fired!", event.detail.value) // ADD THIS LINE
this.currentValue = event.detail.value;
}
- Try on an Android device: you see in the console the
ionChangeevent fired when value change - Try on an iOS device: nothing is fired when value change
Code Reproduction URL
https://github.com/losciur/ionic-bug-ion-column-picker
Ionic Info
Ionic:
Ionic CLI : 7.2.0 (/Users/losciur/.nvm/versions/node/v18.19.0/lib/node_modules/@ionic/cli) Ionic Framework : @ionic/angular 8.1.1 @angular-devkit/build-angular : 17.3.7 @angular-devkit/schematics : 17.3.7 @angular/cli : 17.3.7 @ionic/angular-toolkit : 11.0.1
Capacitor:
Capacitor CLI : 6.0.0 @capacitor/android : 6.0.0 @capacitor/core : 6.0.0 @capacitor/ios : 6.0.0
Utility:
cordova-res : not installed globally native-run : 2.0.1
System:
NodeJS : v18.19.0 (/Users/losciur/.nvm/versions/node/v18.19.0/bin/node) npm : 10.2.3 OS : macOS Unknown
Additional Information
No response
Hello @losciur, I am not able to reproduce.
Please confirm that you have your Safari devtools to show all logs, not just errors:
Hi, thanks for the quick answer.
After new tests I have to specify better.
My issue was generated trying the picker on a phisical iPad (fifth generation - iPadOS 16.7.5).
In that device, while I'm moving along the picker column values, or when I stop on a specific value, the (ionChange) doesn't fire.
But now, I found out that if after moving along the picker column values and stop on a specific value, I CLICK on the specific value, THEN the (ionChange) fires!
Other tests: if I use the simulator with more recent device (iOS 17), the (ionChange) correctly fire when I stop on a specific value (I don't need to click on it).
On Android: the (ionChange) fired when I stop on a specific value (no click needed)
I tested the problem in more recent models, and I found out that the bug is only in that old iPad (fifth generation - iPadOS 16.7.5). I think it is possible to close the issue. Thanks
Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.