Skip to content

bug: ion-datetime and ion-picker-column do not emit reliable change or scroll events, causing stale values on Save #30449

Open
@vunizhona

Description

@vunizhona

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

When using ion-datetime or ion-picker-column in wheel mode, fast scrolling followed by clicking a Save button leads to saving stale values. This occurs because ionChange is not triggered when the scroll is still in motion or finishes after the click.

Expected Behavior

We expect events like ionScrollStart and ionScrollEnd to be emitted to detect when scrolling begins and finishes. Alternatively, ionChange should reliably trigger when the final selection is settled, even if the user taps outside the picker or interacts before the scroll ends.

Steps to Reproduce

  1. Add to a page
  2. Scroll one of the columns (e.g. months) quickly
  3. Immediately tap a Save button that reads the value
  4. Observe that the saved value is incorrect—the scroll hadn’t finished, and ionChange did not fired in time

Make sure to open dev tools and open it as if on mobile

Code Reproduction URL

https://angular-oq2qea-rsrvuccx.stackblitz.io

Ionic Info

@ionic/angular@8.5.8

@angular-devkit/build-angular : 19.2.14
@angular-devkit/schematics : 19.2.14
@angular/cli : 19.2.14

Additional Information

We need to disable the Save button during wheel scrolling in both <ion-datetime> and <ion-picker-column>. Currently, there’s no event to detect when scrolling starts or ends. ionChange is not reliably triggered—especially when the wheel is dragged outside of the visual bounds (e.g., fast swipe to top/bottom on mobile).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions