我正在使用 twitter 引导程序作为这样的字段构造函数
@import helper.twitterBootstrap._
@implicitFieldConstructor = @{ FieldConstructor(extra.twitterBootstrapInput.f) }
我将如何添加/使用另一个字段构造函数?
谢谢
我正在使用 twitter 引导程序作为这样的字段构造函数
@import helper.twitterBootstrap._
@implicitFieldConstructor = @{ FieldConstructor(extra.twitterBootstrapInput.f) }
我将如何添加/使用另一个字段构造函数?
谢谢
模板中只能有一个,尽管您可以破解它。
首先让我们了解一下代码。您展示的代码创建了一个implicit
(名称以 Implicit 开头)fieldConstructor
在生成的 Scala 代码中调用的变量。由于它具有类型FieldConstructor
(从分配的值自动推断),它将用于FieldConstructor
可能需要隐式的地方。
如果你在哪里以类似的方式声明另一个相同类型的 var,Scala 将不知道使用哪个隐式并会引发错误。
也就是说,您可以明确声明FieldConstructor
如下:
@input(field, args:_*)( Htmlcode)(implicitFieldConstructor)
注意第三个参数是明确的。
这应该允许您创建更多的构造函数,如下所示:
@implicitAnotherFieldConstructor = @{ FieldConstructor(anotherConstructor) }
警告:我现在不能完全测试这个,但考虑到模板的行为方式,这似乎是你唯一的选择。
我想出解决此问题的另一种方法是在一个字段构造函数中添加 if else 语句,例如在您的表单中:
@inputFile(
nsForm("plateFiles"),
'_label -> "Upload files",
'uploadwidget -> "Select file(s)"
)
并在您的字段构造函数中:
@if(elements.args.contains('uploadwidget)){
//Do something here
}else{
//Do something else
}