angular / angular/components

bug(aria/listbox): selection state breaks when used with ngCombobox autocomplete (readonly=false)

Đang mở
#32,712 1 bình luận 2 reaction 1 người được giao Được @ok7sai nhận Xem trên GitHub
area: aria/combobox P3
Ngôn ngữ chính
TypeScript
Star
25k
Fork
6.8k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
91

Mô tả

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

## Selection state breaks with autocomplete and readonly set to false

When using ngListbox in multi mode inside an ngCombobox with autocomplete enabled (filterMode="manual" and readonly=false), the listbox selection state becomes inconsistent.

### Important:
This issue does not occur when the combobox is set to readonly=true.

### Video

https://github.com/user-attachments/assets/4fb98448-69a6-491a-acd8-5912375a7a3e

### Reproduction

**StackBlitz link:** https://stackblitz.com/edit/stackblitz-starters-tzi9ff2a?file=src%2Fcombobox%2Fcombobox.html

**Steps to reproduce:**
1. Create an ngCombobox with:
a) filterMode="manual"
b) default editable input (readonly=false)
4. Render an ngListbox with multi enabled inside the combobox popup
5. Select options sequentially from the list
6. Observe listbox()?.values() after each selection ` listbox = viewChild>(Listbox);`

### Expected Behavior

## ngListbox in multi mode should

- preserve all selected values
- never reset selection unless explicitly cleared
- Combobox autocomplete input updates should not override or reset
- listbox multi-selection

### Actual Behavior

## Selection behavior is deterministic but incorrect

### Every second selection

- listbox()?.values() resets to an empty array
- The combobox input value remains unchanged

### Every third selection

The selected option becomes:

- the combobox input value
- the only value in listbox()?.values()
- This cycle repeats and makes listbox()?.values() unreliable for multi-selection state.

### Environment

- Angular:
- CDK/Material:
- Browser(s):
- Operating System (e.g. Windows, macOS, Ubuntu):

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

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

Đánh giá

Issue này chưa được đánh giá.

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.