ionic-team / ionic-team/ionic-framework

feat: add a way to disable haptics in Ionic components

未关闭
#28,719 5 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
package: core type: feature request
主要语言
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 include this feature request, without success.

### Describe the Feature Request

I would like an option to turn off Ionic's built-in haptics.

### Describe the Use Case

Users would like an option to turn off all app haptics. Right now it is impossible to turn off Ionic's built-in haptics.

### Describe Preferred Solution

```ts
setupIonicReact({ haptics: false })
```

### Describe Alternatives

Not an alternative, but a complimentary feature request: it would be nice if Ionic emitted an `ionHaptic` event (or similar). Such an event would fire regardless of whether `setupIonicReact({ haptics: false })` is configured or not. This would lets apps dynamically turn on/off haptics, use custom capacitor haptics libraries, and even disable haptics for certain components (with `event.target`).

| Configuration | Built-in haptics triggered? | Ionic event triggered (`ionHaptic`)? |
|--------|--------|--------|
| `setupIonicReact({ haptics: true })` AKA default | Yes | Yes |
| `setupIonicReact({ haptics: false })` | No | Yes |

If Ionic is interested in this, I am happy to create a separate feature request.

### Related Code

_No response_

### Additional Information

https://github.com/aeharding/voyager/issues/1103

贡献指南

打开贡献指南

调研方向

Start by reviewing the setupIonicReact entry point and tracing how Ionic components trigger built-in haptics. Define how the haptics option and the proposed ionHaptic event should interact, then verify that disabling built-in haptics still permits the event and that the behavior applies consistently across components.

由索引模型根据 Issue 内容生成。

评估

技术栈
react, typescript
领域
frontend, mobile-dev
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。