ionic-team / ionic-team/ionic-framework

feat: Configurable Tab History Behavior

Đang mở
#31,238 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
triage
Ngôn ngữ chính
TypeScript
Star
52.7k
Fork
13.3k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
51

Mô tả

### Prerequisites

- [x] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/docs/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

Currently, every IonTabButton press is added to the history stack. Repeatedly switching between tabs results in back navigation replaying every tab switch:

Practice → Patterns → Progress → Patterns → Progress

Back:

Progress ← Patterns ← Progress ← Patterns ← Practice

Would it be possible to support a configurable tab history mode (e.g. all, unique, or isolated) so developers can achieve navigation behavior similar to apps like Reddit, Instagram, or YouTube?

Ideally, repeated visits to the same tab would not create duplicate history entries.

### Describe the Use Case

`IonTabs` currently adds every tab switch to the history stack. Repeatedly switching between tabs causes the Android back button to replay every tab selection, leading to a ping-pong effect between tabs. This can feel unintuitive for apps that prefer Reddit/Instagram-style navigation.

### Describe Preferred Solution

Add an optional tab history mode that prevents duplicate tab visits from being added to the history stack. For example, after:

`Practice → Patterns → Progress → Patterns → Progress`

pressing Back could navigate:

`Progress ← Patterns ← Practice`

instead of replaying every tab switch.

### Describe Alternatives

_No response_

### Related Code

_No response_

### Additional Information

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start with the IonTabs and IonTabButton navigation behavior described in the issue, then trace how tab presses enter the history stack. Clarify the semantics of the proposed all, unique, and isolated modes before changing behavior; done means the selected mode is configurable and repeated tab visits produce the expected Back navigation.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
typescript
Lĩnh vực
frontend, mobile
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.