【问题标题】:How to render a component multiple times based on integer in Svelte?如何根据 Svelte 中的整数多次渲染组件?
【发布时间】:2021-02-25 19:32:01
【问题描述】:

案例:渲染 Button 组件 5 次

<script>
  const timesToBeRendered = 5;
</script>

<Button/> //Render this component x (5) times

【问题讨论】:

标签: svelte


【解决方案1】:

你可以使用svelte each来做到这一点

<script>
  import Button from './Button.svelte'
  const timesToBeRendered = 5;
</script>

{#each Array(timesToBeRendered) as _, index}
  <Button key={index} />
{/each}

Repl

【讨论】:

    【解决方案2】:

    new Array(timesToBeRendered).fill(0) 将创建一个包含 N 个 0 的空数组,您可以对其进行循环。 (是的,需要填写)

    new Array(timesToBeRendered).fill(0).map((_, i)=&gt;&lt;Button key={i}/&gt;) 将返回一个组件列表,这些组件将反应呈现为兄弟姐妹。

    别忘了key否则react无法区分元素!

    【讨论】:

    • 感谢您的回答,但这是一个 Svelte 特定问题
    • 答案的第一部分对 svelte 有效,但最好用 svelte each 展示一个代码示例
    猜你喜欢
    • 2021-12-13
    • 2021-04-15
    • 1970-01-01
    • 2019-08-11
    • 2020-05-10
    • 2017-12-02
    • 2021-10-31
    • 1970-01-01
    • 2020-07-20
    相关资源
    最近更新 更多