textField 文本框

textField - 文本框 适用于显示或编辑小段文本的组件。

  • XML 元素:textField

  • Java 类:TypedTextField

基本用法

textField 是一个带类型的组件。可以使用 datatype 属性设置数据类型。数据类型用来对组件值进行格式化。 示例:

<textField id="nameField"
           label="Name"
           datatype="string"
           clearButtonVisible="true"
           helperText="msg://textField.helper"/>
text field basic

如需直接处理带类型的值(IntegerLong 等),TypedTextField 提供了两个方法:

  • setTypedValue()

  • getTypedValue()

如需将 textField 与数据连接,请使用 dataContainerproperty 属性。

<data>
    <instance class="com.company.onboarding.entity.Department"
              id="departmentDc">
        <fetchPlan extends="_base"/>
        <loader id="departmentDl"/>
    </instance>
</data>
<layout>
    <textField dataContainer="departmentDc"
               property="name"/>
</layout>

上面的示例中,视图为 Department 实体定义了 departmentDc 数据容器,其中包含 name 属性。textField 组件通过 dataContainer 属性与数据容器进行连接,同时 property 属性包含了在 textField 中展示的实体属性名称。

XML 属性

autoselect

当设置为 true 时,如果组件获得了焦点,将自动选中组件的值。

clearButtonVisible

设置清空内容按钮的可见性。

value

定义 textField 的值。

如果不能按照需要的 数据类型 解析设置的值,则会显示默认的值转换错误消息。

事件和处理器

在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 CodeGenerate 菜单(Alt+Insert / Cmd+N)生成。

ChangeEvent

com.vaadin.flow.component.textfield.GeneratedVaadinTextField.ChangeEvent 对应于 change DOM 事件。

InvalidChangeEvent

当组件的 invalid 属性值变化时发送 com.vaadin.flow.component.textfield.GeneratedVaadinTextField.InvalidChangeEvent 事件。

validator

为组件添加一个验证器实例。当组件值经验证无效时,验证器必须抛出 ValidationException

@Install(to = "zipField", subject = "validator")
protected void zipFieldValidator(Integer value) {
    if (value != null && String.valueOf(value).length() != 6)
        throw new ValidationException("Zip must be of 6 digits length");
}

XML 内部元素

参考