如何从工作输入范围迁移到elm mdl滑块?
我目前有一个用于范围的函数,每个数据段的数字输入类型(trait)。通过如何从工作输入范围迁移到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
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