ionic-team / ionic-team/ionic-framework
bug: item-sliding animation jumps when using multi touch
- 主要语言
- TypeScript
- 星标
- 52.7k
- 派生
- 13.3k
- 平均合并
- 1 天 15 小时
- 30 天内合并 PR
- 51
描述
### 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
v7.x
### Current Behavior
When multiple fingers are on the screen and move around, the `ion-item-sliding` tries to listen to both touches. This causes glitchy behavior.
I found this out while testing certain [iOS accessibility features](https://support.apple.com/guide/iphone/zoom-in-iph3e2e367e/ios) (3-finger zoom), discovering that `ion-item-sliding` can conflict with that.
### Expected Behavior
`ion-item-sliding` should only activate if there is one finger on the screen.
This is how the iOS Mail app works - the sliding items only activates when there is one finger on the screen. This prevents conflict with other gestures.
Additionally, if the native sliding item is already activated and another finger is placed on the screen, it does not glitch.
### Steps to Reproduce
1. Place two or more fingers on any `ion-item-sliding`.
2. Try moving them around.
3. Observe glitches
### Code Reproduction URL
https://github.com/aeharding/sliding-multi
### Ionic Info
Ionic:
Ionic CLI : 7.1.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/lib/node_modules/@ionic/cli)
Ionic Framework : @ionic/react 7.7.3
Capacitor:
Capacitor CLI : 5.7.0
@capacitor/android : 5.7.0
@capacitor/core : 5.7.0
@capacitor/ios : 5.7.0
Utility:
cordova-res : not installed globally
native-run : not installed globally
System:
NodeJS : v20.8.1 (/Users/aeharding/.nvm/versions/node/v20.8.1/bin/node)
npm : 10.1.0
OS : macOS Unknown
### Additional Information
This may be related to #21136.
https://github.com/ionic-team/ionic-framework/assets/2166114/0a4a54e1-2223-4191-b4fa-d1f2361b4a18
贡献指南
调研方向
Start with the ion-item-sliding component and reproduce the issue using the linked sliding-multi example with two or more fingers. Trace how touch input is handled while sliding is inactive and already active. Done means single-finger sliding remains functional, multi-touch does not cause jumps, and the reported reproduction no longer glitches.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- typescript
- 领域
- frontend, mobile
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100