diff options
Diffstat (limited to 'server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java')
-rw-r--r-- | server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java b/server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java index 6510b5305a..81126f3189 100644 --- a/server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java +++ b/server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java @@ -39,6 +39,8 @@ import com.vaadin.ui.declarative.DesignContext; import com.vaadin.ui.declarative.DesignException; import com.vaadin.util.ReflectTools; +import elemental.json.Json; + /** * An abstract base class for listing components that only support single * selection and no lazy loading of data items. @@ -241,6 +243,12 @@ public abstract class AbstractSingleSelect<T> extends AbstractListing<T> } doSetSelectedKey(key); + + // Update diffstate so that a change will be sent to the client if the + // selection is changed to its original value + updateDiffstate("selectedItemKey", + key == null ? Json.createNull() : Json.create(key)); + fireEvent(new SingleSelectionEvent<>(AbstractSingleSelect.this, true)); } |