如何订购Svelte中的Keyed每个块



我创建了一个带有用户列表的商店,我想使用不同的参数进行订购。

store.js

export const users = writable([
{
"id": 11,
"name": "Kepler",
},
{
"id": 13,
"name": "Planck",
},
// more users going in here

为此,我使用了Lodash的orderBy。

情况A.如果我不使用键控的每个块,则orderBy按预期工作。

应用程序苗条

{#each _.orderBy($users, [param], [order]) as user}
<div>{user.id} {user.name}</div>
{/each}

但是,如果我删除或对我的商店进行一些特定的更改,更新将无法正常工作。Svelte的文档中对发生的事情有更好的解释。

案例B.如果我使用键控的每个块,则会按预期更新工作,但不会更新orderBy

应用程序苗条

{#each _.orderBy($users, [param], [order]) as user (user.id)}
<div>{user.id} {user.name}</div>
{/each}

这里有一个关于Svelte REPL的真实例子。

访问上面的链接,点击按钮在升序或降序之间切换。

也许我错过了一些关于每个区块的关键技术,但我想弄清楚Svelte专家是如何解决这个问题的。

这是3.38版本中的一个错误。3.39版本刚刚发布,修复了这个问题。

最新更新