【发布时间】:2019-11-15 09:17:57
【问题描述】:
我正在努力解决 svelte 3 反应性问题...
我想在单击按钮时强制刷新 UI。我正在使用一个自定义组件
AsyncFetcher,它接受 HTTP 发布数据,并为其插槽返回data对象(http 发布结果)。我想要一个禁用功能。因此,当单击“禁用”按钮时,会调用 http api,然后刷新数据视图。
<script>
export let id
function onDisable() {
fetch('disable-api-url', {id: id})
// Then ??
// What to do after the fetch call, to refresh the view
}
</script>
<AsyncFetcher postParam={id} let:data>
{data.name}
<button on:click={??}>Refresh</button>
<button on:click={onDisable}>Disable Item</button>
</AsyncFetcher>
我尝试做on:click={() => id=id} 来欺骗它刷新无济于事。如果 id 是一个对象而不是字符串 id={...id} 会起作用,但不幸的是,这里不是这样。
实现这一目标的正确方法是什么?
【问题讨论】:
标签: svelte