Svelte组件不是从数组单个值中获取值吗?

时间:2019-08-07 22:02:16

标签: svelte

我已经创建了一个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>

我试图从另一个苗条的文件中调用此文件,如下所示:

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

数据是一个数组数组,但是以某种方式DataTableTest总是将da变为未定义状态。在这个苗条的文件中,我在上面手动创建数据数组。 如果我使用

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

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

1 个答案:

答案 0 :(得分:1)

由于循环的缘故,您正在设置da属性,但是它需要一个data属性。

更改:

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

收件人:

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