fix(select): avoid infinite update loop in Svelte 5 (#2108)

Fixes #2107
This commit is contained in:
Eric Liu 2025-03-06 18:36:22 -08:00 committed by GitHub
commit 9b4bfa6f86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -111,10 +111,11 @@
let prevSelected = undefined;
afterUpdate(() => {
selected = $selectedValue;
if (prevSelected !== undefined && selected !== prevSelected) {
dispatch("update", $selectedValue);
if (selected !== $selectedValue) {
selected = $selectedValue;
if (prevSelected !== undefined) {
dispatch("update", $selectedValue);
}
}
prevSelected = selected;