提升复选框"缺少参数类型"错误

时间:2015-05-21 15:35:28

标签: lift

我无法理解为什么这段代码:

  var checked = Seq()

  SHtml.checkbox(Seq("1","2","3"), null, (checkedList) => checked = checkedList)

给我这个错误:

 missing parameter type
[error]   SHtml.checkbox(Seq("1","2","3"), null, (checkedList) => checked = checkedList)
[error]                                           ^

有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

我在这里看到两件事。首先,由于您正在处理键入的Seq,因此您checked的声明可能会导致问题,因为它目前是Seq[Nothing]。尝试将其更改为:

var checked = Seq.empty[String]

var checked:Seq[String] = Nil

要么为复选框中的选项提供正确的类型。

然后,对于实际的SHtml.checkbox - 编译器无法推断出类型。在这种情况下,我不完全确定原因,但签名是SHtml.checkbox[T](Seq[T], Seq[T], (Seq[T]) => None)。如果无法推断出类型,您可以:

指定T的类型,如:

 SHtml.checkbox[String](Seq("1","2","3"), null, (checkedList) => checked = checkedList)

或者,明确键入函数的输入,如:

 SHtml.checkbox(Seq("1","2","3"), null, (checkedList:Seq[String]) => checked = checkedList)