如何从工作输入范围迁移到elm mdl滑块?

如何从工作输入范围迁移到elm mdl滑块?,elm,elm-mdl,Elm,Elm Mdl,我目前有一个用于范围的函数,每个数据段的数字输入类型(trait)。通过edittract Mhid Relevance消息对模型进行更新 valueRange : String -> TraitWithRelevance -> Html Msg valueRange typ trait = let ( name, mhid, relevance ) = trait in input [ Attr.type_ t

我目前有一个用于范围的函数,每个数据段的数字输入类型(trait)。通过
edittract Mhid Relevance
消息对模型进行更新

valueRange : String -> TraitWithRelevance -> Html Msg
valueRange typ trait =
    let
        ( name, mhid, relevance ) =
            trait
    in
        input [ Attr.type_ typ, Attr.min "0", Attr.max "100", Attr.value relevance, Attr.step "1", onInput <| EditTrait mhid ] []
当我抛出对常规输入有效的
Slider.onChange(edittract mhid)
时,编译器会给我这个错误

函数
onChange
的参数导致不匹配

438 | Slider.onChange(编辑特征mhid) ^^^^^^^^^^^^^^函数
onChange
希望参数为:

Float -> m
但事实是:

Relevance -> Msg
在1个模块中检测到错误


由于
onInput
类型是
(String->msg)->Html.Attribute msg
我想
Relevance
String
,而
edittract
mhid->String->msg

在这种情况下,
Slider.onChange(edittract mhid)
不起作用,因为
Slider.onChange
需要
Float->Msg
而不是
Relevance->Msg
(如编译器消息所示)


要解决此问题,您应该更改
edittract
以接收
浮点值
,而不是
字符串
。将
Relevance
类型更改为
Float
并相应地更新代码就可以了。

您能提供
Relevance
EditTrait
的定义吗?
Relevance -> Msg