UI5 / UI5/webcomponents

Re-selecting the currently displayed option does not trigger a change event when control state is desynced from application state

Open
#14,055 2 comments 0 reactions 1 assignee View on GitHub

@NakataCode is already working on this.

Since Sep 17, 2026.

author action bug Medium Prio TOPIC P
Dominant language
TypeScript
Stars
1.8k
Forks
285
Avg merge
3d 2h
Merged PRs (30d)
59

Description

Bug Description

When a Select component's displayed selection is reset to an option (e.g. the first/default item) due to a re-render, but the application's actual filter/state still reflects a previously chosen value, re-selecting that first option does not fire a change event.

This is because the Select considers the first option already selected and treats the user's click as a no-op — no event is emitted, and the consumer's onChange handler is never called.

Steps to Reproduce

  1. Render a Select with an initial default option (e.g. "All") and additional options.
  2. Select a non-default option — a change event fires and the application state updates correctly.
  3. Trigger a re-render that resets the Select's displayed selection back to the default option (without the application state being reset).
  4. Click the default option again.

Expected Behavior

Either:

  • The Select preserves its displayed selection across re-renders so it always reflects the applied state, or
  • A change event is emitted when the user explicitly clicks an option, even if that option is already considered selected by the control.

Actual Behavior

No change event is fired. The consumer's onChange callback is not invoked, and the application state is never updated — leaving the UI showing stale results.

Root Cause (Analysis)

The control's internal selected state diverges from the application's state after a re-render. Because the native change event only fires on an actual selection change,
re-selecting the option the control already considers active is silently swallowed.

Affected Component

No response

Expected Behaviour

No response

Isolated Example

No response

Steps to Reproduce

...

Log Output, Stack Trace or Screenshots

No response

Priority

None

UI5 Web Components Version

2.26.0

Browser

Chrome

Operating System

No response

Additional Context

No response

Organization

No response

Declaration
  • I’m not disclosing any internal or sensitive information.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.