scala将字符串列表返回给html

时间:2017-02-11 00:05:26

标签: scala list lift

我有下面的代码,它应该检索字符串列表并将它们返回到选项菜单。但是,我在#>处收到错误在片段中的自动完成后,“无法找到参数计算机的隐含值:net.liftweb.util.CanBind [scala.xml.NodeSeq with Int => scala.xml.NodeSeq]”

// The html code
<select id="autoComplete" class="marketplace.pharmacy.list">
  <option id="drug">Drug Name</option>
</select>

// The snippet
def getAutoComplete(str: String): CssSel = "#autoComplete" #> {
  getRxAutoComplete(str) match {
    case list => "select" #> list.map { drug =>
      drug #> ("option *" #> drug)
    }
    case List() => NodeSeq.Empty
  }
}


// The code to return the results (simplified)
def getRxAutoComplete(str: String): List[String] = {
  val list = List("Amoxicillin", "Amoximoxi", "Amoxia")
  list
}

2 个答案:

答案 0 :(得分:1)

问题是您在匹配语句中返回两种不同的类型。第一个返回CssSel,第二个返回NodeSeq

您可以通过更改:

来修复它
case List() => "*" #> NodeSeq.Empty

或使用net.liftweb.util中的ClearNodes方法:

case List() => ClearNodes

答案 1 :(得分:0)

您错过了隐式转化。您可能需要导入定义此类隐式转换的库的某些类,以将它们带入您的范围。找到这个课程的确切名称是为了在您的图书馆文档中进行一些研究。