mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
Issue number: resolves #24524 --------- <!-- Please do not submit updates to dependencies unless it fixes an issue. --> <!-- Please try to limit your pull request to one type (bugfix, feature, etc). Submit multiple pull requests if needed. --> ## What is the current behavior? There is no way to know when the refresher has fully returned to its inactive state after a pull gesture. The existing `ionStart` event fires when pulling begins, but there is no corresponding end event. Watching the progress property is insufficient because hitting zero doesn’t necessarily mean the user has completed the pull gesture. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> Two new events are added to the refresher component: - `ionPullStart`: Emitted when the user begins pulling down (same as `ionStart`, which is now deprecated) - `ionPullEnd`: Emitted when the refresher returns to inactive state, with a `reason` property of `'complete'` or `'cancel'` indicating whether the refresh operation completed successfully or was cancelled This allows you to know both when the user is no longer touching the screen AND when the refresher is ready to be pulled again. ## Does this introduce a breaking change? - [ ] Yes - [X] No <!-- If this introduces a breaking change: 1. Describe the impact and migration path for existing applications below. 2. Update the BREAKING.md file with the breaking change. 3. Add "BREAKING CHANGE: [...]" to the commit description when merging. See https://github.com/ionic-team/ionic-framework/blob/main/docs/CONTRIBUTING.md#footer for more information. --> ## Other information <!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. --> Test page: https://ionic-framework-git-fw-6591-ionic1.vercel.app/src/components/refresher/test/basic/index.html Current dev build: ``` 8.7.17-dev.11770319814.172b4f50 ``` --------- Co-authored-by: Patrick McDonald <764290+WhatsThatItsPat@users.noreply.github.com>
@ionic/vue
Ionic Framework integration for Vue 3 apps.
Building
- Install dependencies in
@ionic/core:
cd core && npm install
- Build
@ionic/core. This will generate Vue component bindings in thepackages/vuedirectory:
npm run build
- Install dependencies in
@ionic/vue:
cd packages/vue && npm install
- Build
@ionic/vue:
npm run build
- Install dependencies in
@ionic/vue-router:
cd packages/vue-router && npm install
- Build
@ionic/vue-router:
npm run build
Tests
- E2E Tests are found in the
packages/vue/test/base/testsdirectory and use Cypress. - When making changes to
@ionic/vueor@ionic/vue-routeryou can runnpm run syncin the test-app directory to ensure that the test application is using your built changes. Be sure to build in thevueandvue-routerdirectories first. - Tests can be run in headless mode by running
npm run cypress. - If you want to open the Cypress test runner, you can run
node_modules/.bin/cypress open. - Bug fix and feature PRs should have new tests verifying the PR functionality.
Contributing
See our Contributing Guide.
Need Help?
Post your question on the Ionic Forum.