我创建了一个包含用户列表的商店,我想使用不同的参数进行订购。
store.js
export const users = writable([
{
"id": 11,
"name": "Kepler",
},
{
"id": 13,
"name": "Planck",
},
// more users going in here
为此,我使用了 Lodash 的orderBy。
案例 A.如果我不使用每个块的键控,则按orderBy
预期工作。
App.svelte
{#each _.orderBy($users, [param], [order]) as user}
<div>{user.id} {user.name}</div>
{/each}
但是,如果我删除或对我的商店进行一些特定更改,更新将无法正常工作。对 Svelte 文档中发生的事情的更好解释。
案例 B.如果我对每个块使用键控,则更新按预期工作,但不是orderBy
。
App.svelte
{#each _.orderBy($users, [param], [order]) as user (user.id)}
<div>{user.id} {user.name}</div>
{/each}
访问上面的链接并单击按钮以在升序或降序之间切换。
可能我错过了关于每个块的键控,但想弄清楚 Svelte 专家如何解决这个问题。