¿Cómo imprimir el índice de la opción seleccionada en Elm?
tengo un<select>
Elemento HTML con 3 opciones y un<p>
elemento. En el<p>
elemento en el que quiero imprimir el índice del elemento seleccionado actualmente en<select>
. P.ej. si selecciono la primera opción, debería imprimir 0, si selecciono la segunda opción, debería imprimir 1, y así sucesivamente. ¿Cómo procedo del código mínimo, que se proporciona a continuación?
import Html as H exposing (Html)
import Maybe
import Signal as S exposing (Address, (<~))
type alias Model = { selected : Maybe Int }
model = { selected = Nothing }
type Action = NoOp | Select Int
update action model =
case action of
NoOp -> model
Select n -> { model | selected <- Just n }
view address model =
H.div []
[ H.select [] [ H.option [] [ H.text "0" ]
, H.option [] [ H.text "1" ]
, H.option [] [ H.text "2" ]
]
, H.p [] [ H.text <| Maybe.withDefault ""
<| Maybe.map toString model.selected ]
]
actions = Signal.mailbox NoOp
main = view actions.address <~ S.foldp update model actions.signal