路由之间的 Svelte 丢失状态(svelte-spa-router)

Svelte losing state between routes (svelte-spa-router)

输入组件接收要自动完成的值列表作为 prop。当路线改变时 autocomplete 功能不再 运行(自动完成不可用),失去状态或没有重新初始化。

export let autoCompleteList = undefined

if (autoCompleteList) {
    onMount(() => {
        let input = document.getElementById(id)
        autocomplete({some_parameters})
    })

    onDestroy(() => {
        autoCompleteList = undefined
    })
}

试图添加 onDestroy 来重置 autoCompleteList,但没有效果。添加 key 可能会重新初始化组件,但我不知道在哪里添加它。

输入组件具有相同的 id 名称(即使输入组件是不同组件中的子组件)。更改 id 解决了问题。