aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java')
-rw-r--r--server/src/main/java/com/vaadin/ui/AbstractSingleSelect.java8
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));
}