Mengatasi Cabaran Menggunakan Gaya CSS pada Aplikasi Elm
P粉627427202
P粉627427202 2024-03-29 20:09:28
0
1
470

Saya menghadapi masalah mencari cara terbaik untuk menggayakan apl Elm 19 saya. Inilah yang saya cuba selama ini tidak berjaya:

module Main exposing (..)

import Browser
import Html exposing (..)
import Html.Attributes exposing (..)
import Html.Styled.Attributes exposing (css)
import List exposing (..)
import Css exposing (..)

type alias Model = List Status
type alias Status = { status : String }


main =
    Browser.element
        { init = init
        , view = view
        , update = update
        , subscriptions = subscriptions
        }


-- Note: I removed the init, update, and subscriptions functions from this code snippet as it does not seem like they were relevant to my question.


view : Model -> Html Msg
view model =
    main_ 
        [ css
        [ color (hex "ffffff")
        , backgroundColor (hex "000000")
        , Css.height (vh 100) ]
        ]
        [ h1
            [ css [ margin (px 0) ] ]
            [ text "The title of my app" ]
        , input [ value ""] []
        ]

Pengkompil menunjukkan bahawa masalah yang saya hadapi dalam main_ adalah seperti berikut:

<!-- language: lang-none -->
This argument is a list of type:

    List #(Html.Styled.Attribute msg)#

But `main_` needs the 1st argument to be:

    List #(Attribute msg)#

Ini ialah elm.json fail:

{
    "type": "application",
    "source-directories": [
        "src"
    ],
    "elm-version": "0.19.1",
    "dependencies": {
        "direct": {
            "elm/browser": "1.0.2",
            "elm/core": "1.0.5",
            "elm/html": "1.0.0",
            "elm/time": "1.0.0",
            "ianmackenzie/elm-units": "2.9.0",
            "justinmimbs/date": "4.0.1",
            "rtfeldman/elm-css": "18.0.0"
        },
        "indirect": {
            "elm/json": "1.1.3",
            "elm/parser": "1.1.0",
            "elm/url": "1.0.0",
            "elm/virtual-dom": "1.0.3",
            "robinheghan/murmur3": "1.0.0",
            "rtfeldman/elm-hex": "1.0.0"
        }
    },
    "test-dependencies": {
        "direct": {},
        "indirect": {}
    }
}

Saya mengesyaki saya mungkin menggunakan versi lama elm-css atau sesuatu yang serupa, tetapi saya menghadapi masalah memahami perkara yang tidak berkesan untuk saya di sini.

P粉627427202
P粉627427202

membalas semua(1)
P粉135799949

Untuk kegunaan elm-css,您需要使用 Html.Styled.toUnstyledHtml.Styled.Html 转换为 Html.Html。这意味着您需要 import Html.Styled 暴露 (..) 而不是 import Html 暴露 (..)

Maksudnya main_ 将是 Html.Syled.main_ 而不是 Html.main_ (seperti sekarang).

Kemudian anda boleh view 代码的末尾添加 |> Html.Styled.toUnstyled dan semuanya akan berfungsi dengan baik.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan