榆树 - Select标签内的动态Html选项标签

Joe*_*ana 3 elm

榆树新手在这里.

当我用CustomerSelect下面的Mpower模块替换下面模块中的元素时

customers = ["Select Customer","Customer 1","Customer 2","Customer 3"]
customerSelect =
  select [ ]
    [ List.map customerItem customers
    ]
Run Code Online (Sandbox Code Playgroud)

我收到一个Elm Compiler"Type Mismatch"错误:

函数select期望第二个参数是:

List VirtualDom.Node
Run Code Online (Sandbox Code Playgroud)

但它是:

List (List Html)
Run Code Online (Sandbox Code Playgroud)

这是从哪里来的?

module Mpower where

import Html exposing (..)
import List exposing (..)

customerItem custname =
  option [ ] [ text custname ]

customerSelect =
  select [ ]
    [
    customerItem "Select Customer",
    customerItem "Customer 1",
    customerItem "Customer 2",
    customerItem "Customer 3"
    ]

view =
  div []
    [ customerSelect
    ]

main =
  view
Run Code Online (Sandbox Code Playgroud)

Apa*_*hka 5

List.map已经返回一个列表,但你仍然在方括号中,所以它包装在另一个列表中.用括号括起来:

customers = ["Select Customer","Customer 1","Customer 2","Customer 3"]
customerSelect =
  select [ ]
    (List.map customerItem customers)
Run Code Online (Sandbox Code Playgroud)