From 8e52e13ee98e0a3488c0f0bdd296c98e762d90ea Mon Sep 17 00:00:00 2001 From: metonym Date: Sun, 12 Jun 2022 07:12:11 -0700 Subject: [PATCH] fix: use native binding for `value` prop in `ComboBox`, `MultiSelect` (#1343) * fix(combo-box): use native binding for value prop (fixes #1262) * fix(multi-select): use native binding for value prop --- src/ComboBox/ComboBox.svelte | 27 ++++++++++++--------------- src/MultiSelect/MultiSelect.svelte | 15 +++++---------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/ComboBox/ComboBox.svelte b/src/ComboBox/ComboBox.svelte index 76e59a44..8ce93f71 100644 --- a/src/ComboBox/ComboBox.svelte +++ b/src/ComboBox/ComboBox.svelte @@ -121,7 +121,6 @@ const dispatch = createEventDispatcher(); let selectedItem = undefined; - let inputValue = value; let prevSelectedId = null; let highlightedIndex = -1; @@ -161,7 +160,7 @@ selectedId = undefined; selectedItem = undefined; open = false; - inputValue = ""; + value = ""; if (options?.focus !== false) ref?.focus(); } @@ -174,12 +173,12 @@ filteredItems = []; if (!selectedItem) { selectedId = undefined; - inputValue = ""; + value = ""; highlightedIndex = -1; highlightedId = undefined; } else { - // programmatically set inputValue - inputValue = selectedItem.text; + // programmatically set value + value = selectedItem.text; } } }); @@ -207,7 +206,6 @@ $: comboId = `combo-${id}`; $: highlightedId = items[highlightedIndex] ? items[highlightedIndex].id : 0; $: filteredItems = items.filter((item) => shouldFilterItem(item, value)); - $: value = inputValue; {/if} - {#if inputValue} + {#if value} -1 ? (filterable ? filteredItems : sortedItems)[highlightedIndex]?.id ?? null : null; - $: value = inputValue; {#if invalid} {/if} - {#if inputValue} + {#if value}