Skip to content

bug: The refresher is not working properly in the virtual scrolling list of the sheet modal #31332

Closed

Description

@HyperLife1119

Prerequisites

Ionic Framework Version

v8.x

Current Behavior

Swiping the screen will most likely not trigger the refresher and will cause the sheet modal to close.

Expected Behavior

Swiping the screen should trigger the refresher and prevent the sheet modal from closing.

Steps to Reproduce

  1. Open Sheet Modal
  2. Swipe down on the screen
  3. Observe if the refresher is working properly

Code Reproduction URL

https://stackblitz.com/edit/ej9efybb?file=src%2Fapp%2Fexample.component.html

Ionic Info

ionic:

   Ionic CLI                     : 7.2.1 (/Users/hyperlife1119/.npm/_npx/f6fddb685269761d/node_modules/@ionic/cli)
   Ionic Framework               : @ionic/angular 8.8.17
   @angular-devkit/build-angular : 20.3.32
   @angular-devkit/schematics    : 20.3.32
   @angular/cli                  : 20.3.32
   @ionic/angular-toolkit        : 12.3.0

Capacitor:

   Capacitor CLI      : 8.3.4
   @capacitor/android : 8.3.4
   @capacitor/core    : 8.3.4
   @capacitor/ios     : not installed

Utility:

   cordova-res : not installed globally
   native-run  : 2.0.3

System:

   NodeJS : v22.22.3 (/Users/hyperlife1119/.local/share/fnm/node-versions/v22.22.3/installation/bin/node)
   npm    : 10.9.8
   OS     : macOS Unknown

Additional Information

I need to implement a virtual scrolling list with pull-to-refresh functionality within a sheet modal.

The expected behavior is that pull-to-refresh should work correctly, and the pull gesture should not close the sheet modal. However, I've found that ion-content-scroll-host and refresher don't work well.

Everything works fine if I don't use virtual scrolling.

Activity

  1. added theissue type on Aug 6, 2026
  2. self-assigned this
    on Aug 6, 2026
  3. ShaneK commented on Aug 7, 2026

    @ShaneK
    Member

    Hey! Thanks for the issue report! I have a PR up to fix this here: #31339

    Hopefully we can get it merged in and deployed before too long. In the mean time, feel free to use the dev build by updating your @ionic/core/@ionic/angular dependencies to 8.8.18-dev.11786109471.1285bcfb if you need this fixed urgently.

  4. added a commit that references this issue on Aug 10, 2026
    d6202a8
  5. ShaneK commented on Aug 12, 2026

    @ShaneK
    Member

    Thanks for highlighting this issue, this is fixed now as part of v8.8.18!

  6. HyperLife1119 commented on Aug 13, 2026

    @HyperLife1119
    Author

    Thank you for the fix! however, I found some residual issues:

    Pull-to-refresh works fine when modal.initialBreakpoint is 1.

    When modal.initialBreakpoint is not 1, the pull-down gesture still causes the sheet modal to close. Pull-to-refresh works correctly by swiping the modal upwards to make its breakpoint 1.

    Code Reproduction URL:
    https://stackblitz.com/edit/ej9efybb?file=src%2Fapp%2Fexample.component.html

    Ionic verson:
    v8.8.18

  7. ShaneK commented on Aug 13, 2026

    @ShaneK
    Member

    Hey @HyperLife1119 ! Glad it's working for you. The property you're looking for is expandToScroll. Without setting this to false, a sheet modal's overflow is hidden while it's not at full height.

  8. HyperLife1119 commented on Aug 14, 2026

    @HyperLife1119
    Author

    @ShaneK Thank you so much, it really works! :)

  9. ionitron-bot commented on Sep 13, 2026

    @ionitron-bot

    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.

  10. locked and limited conversation to collaborators on Sep 13, 2026
  11. added a commit that references this issue on Oct 3, 2026
    74f2ce1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

type: buga confirmed bug report

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions