From 7a70c1d60850f4eccda39a201f70cbf1d5850947 Mon Sep 17 00:00:00 2001 From: Eric Liu Date: Fri, 5 Feb 2021 05:35:41 -0800 Subject: [PATCH] fix(tab): do not trigger focus when mounting --- src/Tabs/Tab.svelte | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/Tabs/Tab.svelte b/src/Tabs/Tab.svelte index a2aa5572..61b201cd 100644 --- a/src/Tabs/Tab.svelte +++ b/src/Tabs/Tab.svelte @@ -20,16 +20,27 @@ /** Obtain a reference to the anchor HTML element */ export let ref = null; - import { getContext } from "svelte"; + import { onMount, afterUpdate, getContext, tick } from "svelte"; const { selectedTab, add, update, change } = getContext("Tabs"); add({ id, label, disabled }); + let didMount = false; + $: selected = $selectedTab === id; - $: if (selected && ref) { - ref.focus(); - } + + onMount(() => { + tick().then(() => { + didMount = true; + }); + }); + + afterUpdate(() => { + if (didMount && selected && ref) { + ref.focus(); + } + });