如何在Svelte中排序加密的每个块

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

Store.js

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

为此,我正在使用Lodash中的orderBy。

案例A如果我不使用键控的Each块,则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。

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

可能我错过了每个块的关键字,但我想知道Svelte专家是如何解决这个问题的。


解决方案

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

相关文章