ionic-team / ionic-team/ionic-framework

feat: expandable option should not snap back immediately on gesture release

Offen
#27,794 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
package: core type: feature request
Vorherrschende Sprache
TypeScript
Sterne
52.7k
Forks
13.3k
Ø Merge
1 T. 15 Std.
Gemergte PRs (30 T.)
51

Beschreibung

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v6.x

### Current Behavior

[The docs for `ion-item-sliding`](https://ionicframework.com/docs/api/item-sliding#expandable-options) state the following:

> Options can be expanded to take up the full width of the item if you swipe past a certain point. This can be combined with the `ionSwipe` event on the [item options](https://ionicframework.com/docs/api/item-options) to call a method when the item is fully swiped.

The [`ion-item-options`](https://ionicframework.com/docs/api/item-options#events) docs further state that `ionSwipe` is "emitted when the item has been fully swiped."

However, I am seeing none of this behavior, at least not as I expect.

On the other hand, the [`ion-item-option` docs](https://ionicframework.com/docs/api/item-option#expandable) states of the `expandable` attribute that, "if true, the option will expand to take up the available width and cover any other options," which seems to be subtly different, and pretty much what the actual behavior is.

---

Currently, an item will never stay expanded. After releasing the extra swipe, the expanded item _instantly_ snaps back to normal width.

Also, the `ionSwipe` event is triggered after very little extra distance has been covered; hardly "fully swiped" by any means.

### Expected Behavior

I expect the expanded option to expand to the full width of the item and stay like that.
I expect the `ionSwipe` event to only be fired once this has happened.

### Steps to Reproduce

1. Create a page with the example code in [the docs on expandable options](https://ionicframework.com/docs/api/item-sliding#expandable-options)
1. Optional: attach an `ionSwipe` listener to the `ion-item-options` and log calls.
1. Try to expand the item.

### Code Reproduction URL

_No response_

### Ionic Info

```
Ionic:

Ionic CLI : 6.16.3 (C:\Users\Darryl\AppData\Roaming\npm\node_modules\@ionic\cli)
Ionic Framework : @ionic/vue 6.7.5

Utility:

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

System:

NodeJS : v18.15.0 (C:\Users\Darryl\AppData\Local\Volta\tools\image\node\18.15.0\node.exe)
npm : 9.5.0
OS : Windows 10
```

Actually Windows 11.

### Additional Information

Relevant/potentially relevant issues:

- [#13413 - Unable to animate full swipe on ion-item-sliding](https://github.com/ionic-team/ionic-framework/issues/13413)
- [#15304 - ion-item-option will not expand in Ionic 4.0.0-beta.3](https://github.com/ionic-team/ionic-framework/issues/15304)
- [#15427 - Sliding Items: ionSwipe & exapandable not working properly](https://github.com/ionic-team/ionic-framework/issues/15427)

Video of reproduction:

https://github.com/ionic-team/ionic-framework/assets/67335139/7b458b4e-b5e8-4e2c-b9a4-28304fa1f904

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.