我最近着手嘗試構建一個標準的<Table>
組件,我可以在整個應用程序中使用它。這個想法是,應用程序中的所有表格都可以以可維護的方式共享通用功能。爲此,我認爲對於<Table>
組件本身由其每個部分組成的組件以及爲每個獨特用例的每個<Table>
組件提供這些組件中的一些將是有用的。組件是否可以通過其他組件傳遞?
<Table>
可能如下所示。
<table>
<tbody>
<tr>
{{#each columns as column}}
<th>{{column.name}}</th>
{{/each}}
</tr>
{{#each items as item}}
<Row item="{{item}}" columns="{{columns}}" Column="Column"></Row>
{{/each}}
</tbody>
</table>
<Row>
可能如下所示。
<tr>
{{#each columns as column}}
<Column item="{{item}}" column="{{column}}"></Column>
{{/each}}
</tr>
<Column>
可能如下所示。
<td>{{item[column.key]}}</td>
這個想法是,使用<Table>
每次,定製<Column>
將提供。這很有用,因爲每個表都有不同的數據,所以在每種情況下需要對列進行不同的處理。但是,我很難找到一種通過其他組件實質上傳遞組件的方法。 Svelte有可能嗎?
另外,我注意到something like this似乎最近在GitHub上討論。雖然我確實知道可以使用構造函數在組件中實例化組件,但這種方法不會被掛在Svelte生命週期中,這很重要。