Атрибут elm img слишком много аргументов - PullRequest
0 голосов
/ 11 июля 2020

Я новичок в Elm, и я столкнулся с проблемой, которая меня до бесконечности расстраивает. Вот мой код:

view : Model -> Html Msg
view model =
    img [src "Img1.png", width 300, height 300] []
    div []
        [ input [ onInput ChangeUserInput ] []
        , button [ onClick SaveText ] [ text "Save" ]
        , button [ onClick Clear ] [ text "Clear" ]
        , h1 [] [text model.userInput]
        ]

И ошибка, которую я получаю, заключается в том, что

The `img` function expects 2 arguments, but it got 5 instead

Я думаю, что он анализирует аргументы тега div как аргументы img, но я не могу понять, как чтобы исправить это.

1 Ответ

4 голосов
/ 12 июля 2020

Ваша функция просмотра должна возвращать единственный элемент HTML. На данный момент кажется, что вы пытаетесь вернуть два элемента: img и div. div и два его аргумента используются в качестве аргументов для img, потому что в вашем коде нет ничего, что Elm мог бы использовать для определения конца списка аргументов для передачи функции img.

Вам нужно будет обернуть их оба в элемент, который их содержит, например, в другой div:

view : Model -> Html Msg
view model =
    div []
        [ img [ src "Img1.png", width 300, height 300 ] []
        , div []
            [ input [ onInput ChangeUserInput ] []
            , button [ onClick SaveText ] [ text "Save" ]
            , button [ onClick Clear ] [ text "Clear" ]
            , h1 [] [ text model.userInput ]
            ]
        ]
...