在 Svelte 中,无法根据另一个组件的值刷新组件列表

In Svelte can't get a component list refreshed based on value on another one

Svelte 的新功能,我想我还没有正确的思维方式来做这个在 jQuery for DOM 的帮助下在 vanilla Javascript 中工作的简单事情和 Ajax.

简化案例:一个页面中有两列。第一个在页面加载时填充,每个值都是一个组件。单击组件时,将调用 Web 服务以获取数据、填充变量或存储(都尝试过)。我可以取回拾取的值,将其传递给必须为第二个列表获取相关值的组件,但它仅在组件创建时有效。 Ajax 在 onMount 事件上调用 ok,但在所选组件的 id 更改时不会在反应事件上调用。 问题是:这样做的 Svelte 方法是什么? 下面通过 link 在 REPL 中演示代码。 谢谢!

https://svelte.dev/repl/92ce738b7af54a1494d88bb6632e3ed3?version=3.29.4

已找到解决方案,因此请回答以防对其他人有用,因为有功能示例代码。否则,我删除。

问题是反应性没有触发,因为修改的变量不在反应性语句中,而是在调用的函数 filterById 中。

下面这行 $: filtered_component2_list = component2_list.filter(filterById);已替换为 $: filtered_component2_list =component2_list.filter( item => {if (item.id === id_comp2) return item })

REPL 已更新,运行良好。