2017-03-06 134 views
0

我在我的Elm項目中創建了表模塊。如何在Elm中使用模塊客戶定義類型

每列都有一個getter函數,用於定義它們如何從模型化行的記錄中檢索數據。

因此,一個行可能看起來像:

{ name = "bananas" 
, price = 5 
} 

,列看起來是這樣的:

[ { title = "Item Name" 
    , get = .name 
    } 
, { title = "Price in pennies" 
    , get = .price >> (*) 100 >> toString 
    } 
] 

這意味着該列get功能類型標註爲: Row -> String

我遇到的問題是我想讓這個表模塊成爲其他項目的可重用組件他們自己的「行」類型。如何讓模塊的使用者在不刪除所有類型註釋的情況下指定Row類型別名?

我對榆樹很新,很抱歉,如果我的問題的措辭是關閉的。

+1

看一看['evancz /榆樹可排序-table'](http://package.elm-lang.org/packages/evancz/elm-sortable-table/latest),其提供了一些抽象爲處理這個問題。有一個'Column'類型,可以讓你創建每種類型的自定義配置,以建立你的渲染值。 [這是一個設置配置的例子](https://github.com/evancz/elm-sortable-table/blob/master/examples/1-presidents.elm#L83-L94) –

回答

4

而不是使用自己的類型,的,你可以引入一個類型變量(通常a,但任何小寫的名字會的工作,例如,在elm-sortable-tabledata

然後,您可以創建這樣的事情:

​​
相關問題