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