Svelte 组件没有从数组单个值中获取值?

Svelte component is not taking value from array individual value?

我创建了一个 DataTableTest 组件

<script>
  export let title;
  export let data;
  export let columns = [];
</script>

{title}
<table>
  {#if columns}
    <tr>
      {#each columns as c}
        <td>{c.label}</td>
      {/each}
    </tr>
  {/if}
  {#if data}
    <tbody>
      {#each data as d, i}
        <tr>
          {#each columns as c}
              <td>
              {@html d[c.property] ? d[c.property] : ''}
              </td>
          {/each}
        </tr>
      {/each}
    </tbody>
  {/if}
</table>

我正在尝试从另一个 svelte 文件调用它,如下所示:

{#each data as da}
{da}
    <DataTableTest title="Orders" {da} {columns} />
{/each}

Data 是一个数组的数组,但不知何故 DataTableTest 总是将 da 设置为未定义。在这个 svelte 文件中,我在上面手动创建了数据数组。 如果我使用,

<DataTableTest title="Orders" {data} {columns} />

然后,它在 DataTableTest 中显示一些空行,而 da 不工作。 {da} 的打印工作正常。我可以看到数据,但 DataTableTest 组件无法正常工作。

由于循环,您正在设置 da 属性,但它需要 data 属性。

变化:

<DataTableTest title="Orders" {da} {columns}/>

至:

<DataTableTest title="Orders" data={da} {columns}/>