玩榆树 checkboxes example 。我正在尝试在 view 中移动以下重复代码

, label []
    [ br [] []
    , input [ type' "checkbox", checked model.underline, onCheck Underline ] []
    , text "underline"
    ]

成一个单独的函数并使用它三遍。到目前为止我有...
makeLabel : String -> Bool -> Msg -> Html Msg
makeLabel caption bool msg =
  label []
    [ br [] []
    , input [ type' "checkbox", checked bool, onCheck msg ] []
    , text caption
    ]

我会像这样使用它
makeLabel "underline" model.underline Underline

但后来我收到以下错误
Function `makeLabel` is expecting the 3rd argument to be:

Msg

But it is:

Bool -> Msg

当用户更改复选框时,如何将正确的操作传递给我的 makeLabel 函数?
 type Msg
 = Red Bool
 | Underline Bool
 | Bold Bool

我不明白如何将联合类型(下划线)传递给函数而不包含标签(下划线 bool )

最佳答案

问题在于您的类型签名,而不是代码。试试这个:

 makeLabel : String -> Bool -> (Bool -> Msg) -> Html Msg

关于elm - 如何在不包含标签的情况下将联合类型传递给函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38288963/

10-16 07:50