如何在 sveltekit 中过滤商店列表?
How do I filter a store list in sveltekit?
正在尝试 return 封匹配 parentId = id
的邮件。
我不确定如何将参数传递给函数:
export const getReplies = derived([id], ([$messages, $id]) => {
return $messages.filter(msg => {
return msg.parentId === $id;
});
});
组件:
$: replies = getReplies(msg.id);
derived
函数returns一个store
.
如果你的 messages
是 store
而 id
是 store
,你可以
从两者派生,像这样:
const replies = derived([messages, id], ([$messages, $id]) => {
return $messages.filter(msg => {
return msg.parentId === $id;
});
})
工作示例:https://svelte.dev/repl/d3553520239a49dc8a0bc8b147b14cf2?version=3.46.4
或者您根本不需要使用 derived
,例如:
$: replies = $messages.filter(msg => {
return msg.parentId === id;
});
工作示例:https://svelte.dev/repl/ab500b1bd0914172b7b409e044b5fa01?version=3.46.4
您可以创建一个 returns 派生商店
的函数
function getReplies(id) {
return derived(
messages,
$messages => $messages.filter(msg => msg.parentId == id)
)
}
和你一样使用它:
$: replies = getReplies(msg.id)
现在 replies
是一个商店(因此您可以使用 $replies 访问它)并且每次消息(原始商店)更改或 msg.id
更改(此时将为您生成新的派生商店。
正在尝试 return 封匹配 parentId = id
的邮件。
我不确定如何将参数传递给函数:
export const getReplies = derived([id], ([$messages, $id]) => {
return $messages.filter(msg => {
return msg.parentId === $id;
});
});
组件:
$: replies = getReplies(msg.id);
derived
函数returns一个store
.
如果你的 messages
是 store
而 id
是 store
,你可以
从两者派生,像这样:
const replies = derived([messages, id], ([$messages, $id]) => {
return $messages.filter(msg => {
return msg.parentId === $id;
});
})
工作示例:https://svelte.dev/repl/d3553520239a49dc8a0bc8b147b14cf2?version=3.46.4
或者您根本不需要使用 derived
,例如:
$: replies = $messages.filter(msg => {
return msg.parentId === id;
});
工作示例:https://svelte.dev/repl/ab500b1bd0914172b7b409e044b5fa01?version=3.46.4
您可以创建一个 returns 派生商店
的函数function getReplies(id) {
return derived(
messages,
$messages => $messages.filter(msg => msg.parentId == id)
)
}
和你一样使用它:
$: replies = getReplies(msg.id)
现在 replies
是一个商店(因此您可以使用 $replies 访问它)并且每次消息(原始商店)更改或 msg.id
更改(此时将为您生成新的派生商店。