From 6a97175f757dfbfcb9a74c8f38005af39379bec6 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Mon, 20 Jan 2020 16:52:36 -0800 Subject: [PATCH] fix(select): update selected prop after update --- src/components/Select/Select.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/Select/Select.svelte b/src/components/Select/Select.svelte index a490d73c..c3b5c941 100644 --- a/src/components/Select/Select.svelte +++ b/src/components/Select/Select.svelte @@ -14,7 +14,7 @@ export let selected = undefined; export let style = undefined; - import { createEventDispatcher, setContext } from 'svelte'; + import { createEventDispatcher, setContext, afterUpdate } from 'svelte'; import { writable } from 'svelte/store'; import ChevronDown16 from 'carbon-icons-svelte/lib/ChevronDown16'; import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16'; @@ -26,12 +26,13 @@ setContext('Select', { selectedValue }); + afterUpdate(() => { + selected = $selectedValue; + dispatch('change', $selectedValue); + }); + $: errorId = `error-${id}`; $: selectedValue.set(selected); - $: selected = $selectedValue; - $: { - dispatch('change', $selectedValue); - }
@@ -85,7 +86,6 @@ aria-describedby={invalid ? errorId : undefined} disabled={disabled || undefined} aria-invalid={invalid || undefined} - on:change on:change={({ target }) => { selectedValue.set(target.value); }}