我在Play Framework 2 scala模板中编写了一个方法来生成日期/时间输入。我不知道如何将_label
之类的html args传递给它。
@dateField(field: Field, timeName: String)(implicit handler: FieldConstructor, lang: play.api.i18n.Lang) = {
@input(field, '_showConstraints -> false) { (id, name, value, args) =>
<input type="text" value="@value" name="@name" @toHtmlArgs(args)>
<input type="text" value='@eventForm(timeName).value()' name="@timeName" />
}
}
我希望能够调用它来生成一个没有标签的字段:
@dateField(eventForm("event.endDate"), "event.endTime", '_label -> "")
我需要做些什么才能工作?
答案 0 :(得分:3)
您必须定义vargs字段。在Scala中,这用星号表示。有关详细信息,请参阅this answer。
您的代码将如下所示:
@dateField(field: Field, timeName: String, more: (Symbol, Any)*)(implicit handler: FieldConstructor, lang: play.api.i18n.Lang) = {
@input(field, ('_showConstraints -> false :: more.toList) : _*) { (id, name, value, args) =>
<input type="text" value="" name="@name" @toHtmlArgs(args)>
}
}