Skip to content

bug: ion-datetime time picker overscroll does not revert to value, stays stuck #31633

Open

Description

@jpike88

Prerequisites

Ionic Framework Version

v9.x

Current Behavior

https://ionicframework.com/docs/api/datetime#time-selection

It's easy on macos safari to scroll just past the extreme, so the time picker is then stuck n this weird overscroll state. You do it by scrolling all the way, then doing a small scroll adjustment so the wheel stays off-center.

Not just that, but a worse side effect occurs. If you try and scroll further again in that direction from the stuck state, the entire page scrolls instead.

This happens at both top and bottom extremes of the scroll wheel.

This problem is only on safari, chrome it always corrects itself automatically.

Image

Expected Behavior

It should behave like it does in Chrome. Scroller should always auto-reset to a value and it shoulnd't be possible for it to get stuck.

Steps to Reproduce

already mentioned

Code Reproduction URL

https://ionicframework.com/docs/api/datetime#time-selection

Ionic Info

"@ionic/angular": "^9.0.6",

Additional Information

No response

Activity

  1. thetaPC commented on Oct 23, 2026

    @thetaPC
    Contributor

    Thanks for the report!

    Verified on 9.0.9. The wheel columns use scroll-snap-type: y mandatory, and the empty rows at each end leave a little scroll room past the first and last options. In Safari, a trackpad scroll that overscrolls the column can end in that room without snapping back to an option. This is a Safari bug (WebKit bug 253078), and a plain scroll-snap list does the same thing in Safari. Since the column is then already at its edge, scrolling further in that direction moves the page instead.

    There is no clean workaround: the scroll container sits inside the Shadow DOM of both ion-datetime and ion-picker-column, and no part exposes it to CSS. Scrolling the wheel back in the other direction lets it snap to an option again. We can prevent this on our side, so this is tracked as a bug in core.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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