如何在 Svelte 中订购键控每个块
How to order Keyed each blocks in Svelte
我创建了一个包含用户列表的商店,我想使用不同的参数进行订购。
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}
但是如果我删除我的商店或对我的商店进行一些特定更改,更新将无法正常工作。 A better explanation of what's happening in the Svelte's docs.
案例 B。 如果我使用键控每个块然后更新按预期工作但不是 orderBy
。
App.svelte
{#each _.orderBy($users, [param], [order]) as user (user.id)}
<div>{user.id} {user.name}</div>
{/each}
Here a Real Example on Svelte REPL.
访问上方 link 并单击按钮以在升序或降序之间切换。
可能我遗漏了一些关于键控每个块的东西,但想弄清楚 Svelte 专家是如何解决这个问题的。
这是 3.38 版中的错误。刚刚发布的 3.39 版本解决了这个问题。
我创建了一个包含用户列表的商店,我想使用不同的参数进行订购。
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}
但是如果我删除我的商店或对我的商店进行一些特定更改,更新将无法正常工作。 A better explanation of what's happening in the Svelte's docs.
案例 B。 如果我使用键控每个块然后更新按预期工作但不是 orderBy
。
App.svelte
{#each _.orderBy($users, [param], [order]) as user (user.id)}
<div>{user.id} {user.name}</div>
{/each}
Here a Real Example on Svelte REPL.
访问上方 link 并单击按钮以在升序或降序之间切换。
可能我遗漏了一些关于键控每个块的东西,但想弄清楚 Svelte 专家是如何解决这个问题的。
这是 3.38 版中的错误。刚刚发布的 3.39 版本解决了这个问题。