Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(datetime): re-emit wheel ionScrollStart/ionScrollEnd from picker columns#30674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
vunizhona wants to merge2 commits intoionic-team:main
base:main
Choose a base branch
Loading
fromvunizhona:feat/datetime-wheel-scroll-events-30449

Conversation

vunizhona
Copy link
Contributor

Issue number:resolves#30449


What is the current behavior?

Wheel scrolling inside ion-datetime does not provide host-level lifecycle events for app code to react to start/end of scrolling.

What is the new behavior?

  • ion-datetime re-emits wheel scroll lifecycle events from inner columns:
    • ionScrollStart when any wheel column begins scrolling.
    • ionScrollEnd once all active columns settle, coalesced with a 300ms debounce.
    • Events do not bubble to avoid duplicate handling; they are emitted on the host.
  • ion-picker-column emits ionScrollStart and ionScrollEnd at scroll start/end.
  • API/types updated to expose the new events across frameworks (Angular/Vue proxies).

Does this introduce a breaking change?

  • Yes
  • No

Other information

  • core/src/components/datetime/datetime.tsx: capture-phase listeners, coalescing logic, new events
  • core/src/components/picker-column/picker-column.tsx: emits start/end at scroll boundaries
  • core/src/components/datetime/test/prefer-wheel/datetime.spec.ts: replace fake timers with explicit waits
  • core/api.txt, core/src/components.d.ts, Angular/Vue proxies: API surface/types for new events
  • Proxy changes are generated to reflect the new events(updated during the build).

Verification

  • Targeted specs: cd core && npm ci && npm run test.spec -- src/components/datetime/test/prefer-wheel/datetime.spec.ts (expect 3 passed).

  • Manual: cd core && npm start, open /src/components/datetime/test/prefer-wheel/index.html.

Scroll a wheel column: app receives one ionScrollStart at the beginning, one ionScrollEnd after settling.

vunizhonaand others added2 commitsSeptember 9, 2025 15:18
re-emit ionScrollStart/ionScrollEnd from wheel columns on ion-datetime by capturing inner ion-picker-column events and suppressing originals; coalesce multiple concurrent column scrolls into a single start/end with a 300ms end debounceadd ionScrollStart/ionScrollEnd to ion-picker-column and emit at scroll start/endupdate API/types and Angular/Vue proxies to expose new eventsstabilize prefer-wheel specs by replacing fake timers with real waits to avoid newSpecPage timeoutsclosesionic-team#30449
@vunizhonavunizhona requested a review froma team as acode ownerSeptember 9, 2025 12:56
@vercelVercel
Copy link

vercelbot commentedSep 9, 2025
edited
Loading

The latest updates on your projects. Learn more aboutVercel for GitHub.

ProjectDeploymentPreviewCommentsUpdated (UTC)
ionic-frameworkReadyReadyPreviewCommentSep 9, 2025 0:57am

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

@ShaneKShaneKAwaiting requested review from ShaneKShaneK is a code owner automatically assigned from ionic-team/framework

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
package: angular@ionic/angular packagepackage: core@ionic/core packagepackage: vue@ionic/vue package
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

bug: ion-datetime and ion-picker-column do not emit reliable change or scroll events, causing stale values on Save
1 participant
@vunizhona

[8]ページ先頭

©2009-2025 Movatter.jp