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}/>
我创建了一个 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}/>