2017-07-13 107 views
0

我最近着手嘗試構建一個標準的<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生命週期中,這很重要。

回答

2

目前還不能做到這一點(這是可能的,但你必須做安裝/卸載邏輯oncreateondestroy,並添加內oncreate觀察員保留一切最新的),但它是一個簡潔的方式我們很快可能會實施的一些內容 - 請按照#640獲取更新。

相關問題