El método de campo es un poco de azúcar sintáctico para crear campos usando generadores de campo. Utiliza los valores predeterminados de ese generador para crear el campo.
El método makeField permite especificaciones exactas de su campo.
Como tal, no hay "Una mejor respuesta". Si está contento con los campos predeterminados creados por FormVendor, úselos. Si necesita un control más particular sobre sus campos, use makeField.
makeField toma efectivamente los argumentos que se le asignan y los usa para crear un campo personalizado. Por ejemplo, makeField("Password", "", SHtml.password(is, set _))
es efectivamente igual a
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 _)
}
}
(Tomado de Adding Custom Field Types to LiftScreen)
Esto sólo se aplica a una LiftScreen. Si necesita usar un campo personalizado en múltiples LiftScreen, cree un rasgo stand-along, el Lift Wiki indica "Puede configurar Tipo global → Proveedores de formulario en LiftRules.vendForm para el formulario de ámbito de aplicación vending". This page en particular tiene un código de ejemplo y más explicación.
Gracias, gran explicación –