我有一个编辑器,其中包含each
循环内的输入。当输入中的文本更改时,可写存储将更新,但是在另一个组件中,我不会遍历存储重渲染中的值。
<script>
import { writable } from "svelte/store";
const invoiceItems = writable([
{
id: 0,
text: "Test",
}
]);
</script>
<input
type="text"
bind:value={$invoiceItems[0].text}
on:keyup={() => {console.log($invoiceItems[0].text);}}
/>
{#each $invoiceItems as item, index (item.id)}
<input
type="text"
bind:value={item.text}
on:keyup={() => {console.log($invoiceItems[0].text);}}
/>
{/each}
{#each $invoiceItems as { id, text }}
<div>{id}{text}</div>
{/each}
<div>
{$invoiceItems[0].text}
</div>
REPL:https://svelte.dev/repl/0fa5f5cd1ee247afbbdc9a77266fb4f8?version=3.9.1
上面的REPL实时显示了问题-在第二个输入中键入不会更新文本,而在循环外部则可以正常工作。我怎样才能使它正确地重新渲染?