Svelte 教程演示了如何声明表行片段:
<tbody>
{#snippet monkey()}...{/snippet}
{@render monkey()}
</tbody>
到目前为止一切都很好。将代码片段放在靠近使用位置的位置是有意义的——表格行代码片段确实应该放在 中tbody
。
我也想重用表格行的代码片段。不过我使用的是 Flowbite Svelte 组件库。代码如下:
<Table>
...
<TableBody>
{#snippet row(row: UserProductListEntry)}
{row.product.title}
{/snippet}
这在运行时有效,但由于代码片段隐式地成为 TableBody 的 prop,因此存在问题:
- 我收到这个类型错误:
这是 IDEA Svelte 插件的错误吗?它没有任何引用,例如 ESLint。它应该是一个警告还是可抑制的?我在 JetBrains 的问题跟踪器上没有找到类似的信息。
- (不太重要)在这种情况下,我不打算将代码片段作为 prop 传递给 TableBody。如果它恰好需要同名的代码片段怎么办?
那么问题是,有没有办法让这段代码不成为隐式 prop?或者至少能以某种方式处理问题 1,而无需将代码片段移出 TableBody 和 Table ?