Repository navigation
Conversation
Combobox creates a Menu on its toggle, but the Data guard rejects the second component key. The Menu remains unregistered, so keyboard handling creates additional instances and logs an error on every interaction. Allow differently keyed instances to coexist while preserving same-key replacement and independent disposal. Replace the ambiguous getAny lookup in dialog cleanup with explicit component keys so overlays are hidden regardless of registration order.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Data.set()guard that rejected a second component key on the same element.Data.getAny()helper.Combobox intentionally composes a Menu on its toggle. Previously,
bs.comboboxregistered first and thebs.menuregistration failed. The Menu object still finished construction, butMenu.getOrCreateInstance()could not find it and created more unregistered Menu instances during keyboard handling.Same-component replacement remains unchanged: constructing another instance with the same key still disposes the previous instance first.
Closes #42965
Tests
npm run js-test— 1,356 tests passed, including bundle and modularity integration buildsnpm run js-typecheck