gpt4 book ai didi

scala - 使用 LiftScreen 字段或文本

转载 作者:行者123 更新时间:2023-12-04 18:51:55 25 4
gpt4 key购买 nike

我正在使用 LiftScreen trait 并且我对 field 和 text 方法有疑问。文本方法使用 makeField方法,然后是 SHtml.text渲染字段,而 field方法使用 FormVendor特征来呈现 html。

那么添加字段的最佳方法是什么?我必须使用字段方法还是文本/密码/等方法?

谢谢你。

最佳答案

字段方法是使用字段生成器创建字段的一些语法糖。它使用来自该生成器的默认值来创建字段。

makeField 方法允许精确指定您的字段。

因此,没有“一个最佳答案”。如果您对 FormVendor 创建的默认字段感到满意,请使用它们。如果您需要对字段进行更具体的控制,请使用 makeField。

makeField 有效地接受给它的参数,并使用它们来创建自定义字段。例如,makeField("Password", "", SHtml.password(is, set _))实际上等于

object MyScreen extends LiftScreen { 
val password = new Field {
type ValueType = String
override def name = "Password"
override implicit def manifest = buildIt[String]
override def default = ""
override def toForm: Box[NodeSeq] = SHtml.password(is, set _)
}
}

(取自 Adding Custom Field Types to LiftScreen)

这仅适用于一个 LiftScreen。如果您需要在多个 LiftScreen 上使用自定义字段,请创建一个独立的特征, Lift Wiki声明“您可以在 LiftRules.vendForm 中设置全局类型 → 表单供应商,用于应用程序范围的表单自动售货”。 This page特别是有一些示例代码和更多解释。

关于scala - 使用 LiftScreen 字段或文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5008793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com