USelectMenu: selected items show value instead of label when using custom search/filter logic
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.9k
- Forks
- 1.1k
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 57
Description
Environment
- Operating system: Ubutnu 24
- Node: 22.15
- Nuxt Version: 4.1.3
Is this bug related to Nuxt or Vue?
Nuxt
Package
v4.x
Version
v4.0.1
Reproduction
https://github.com/pbartyla/nuxt_select_menu_filter
Description
When using USelectMenu with a custom search/filter logic (ignore-filter + manually filtered items), the selected items lose their label reference and display the raw value (e.g., id) instead of the label (e.g., name) if the search term filters out the already selected items from the list.
Moreover, the USelectMenu component does not accept a prop to provide all available options. When using custom filtering, you need to manually maintain the full list of items—including filtered and selected ones—and implement the selection logic yourself. This adds extra complexity and makes it difficult to keep the selected labels in sync with the available options.
Additional context
No response
Logs
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the reproduction at https://github.com/pbartyla/nuxt_select_menu_filter and trace USelectMenu's custom search/filter behavior, especially with ignore-filter enabled. Confirm how selected items retain their labels when filtering removes them from the displayed list; done means selected values continue showing their labels without requiring a separately maintained full options list.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- nuxtjs, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100