TimeField 时间输入

TimeField - 时间组件 是用来显示和输入时间的组件。它是 DateField 日期时间 组件的一部分,但是也可以单独使用。

time field

组件的 XML 名称:timeField

基本用法

如需创建关联至数据的 TimeField,可以用 XML 的 dataContainerproperty 属性:

@JmixEntity
@Table(name = "UIEX1_ORDER")
@Entity(name = "uiex1_Order")
public class Order {
    @JmixGeneratedValue
    @Column(name = "ID", nullable = false)
    @Id
    private UUID id;

    @Column(name = "DELIVERY_TIME")
    @Temporal(TemporalType.TIME)
    private Date deliveryTime;
}
<data>
    <instance id="orderDc"
              class="ui.ex1.entity.Order">
        <fetchPlan extends="_base"/>
        <loader/>
    </instance>
</data>
<layout>
    <timeField dataContainer="orderDc"
               property="deliveryTime"
               caption="Delivery time"/>
</layout>

上面的例子中,界面为具有 deliveryTime 属性的 Order 实体定义了 orderDc 数据容器。dataContainer 属性指向数据容器。property 属性设置要显示在 TimeField 中的实体属性名称。

实体属性类型应该是 java.util.Datejava.time.LocalTimejava.time.OffsetTime 类型。

时间格式

  • 时间格式通过时间数据类型定义,并且在本地化消息包中通过 timeFormat 键指定。

  • 时间格式也可以通过 timeFormat 属性指定:

    <timeField timeFormat="mm/HH"/>

属性

resolution

resolution 属性支持定义时间精度。有下列可选值:

  • SEC

  • MIN - 默认值,显示至分钟

  • HOUR

<timeField resolution="SEC"/>

timeMode

timeMode 属性选择时间是以 12 小时还是 24 小时制显示,有下列可选值:

  • H_12

  • H_24 - 默认值

事件和处理器

如需使用 Jmix Studio 生成处理器的桩代码,需要在界面 XML 描述或者 Jmix UI 层级结构面板选中该组件,然后用 Jmix UI 组件面板的 Handlers 标签页生成。

或者可以使用界面控制器顶部面板的 Generate Handler 按钮。

ContextHelpIconClickHandler

Validator

参阅 Validator

ValueChangeEvent

参阅 ValueChangeEvent

TimeField XML 属性

TimeField XML 元素