我无法理解为什么这段代码:
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] ^
有人能帮助我吗?
答案 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)