nativeLabel 原生标题

nativeLabel 对应 HTML 的 label 元素,可用于为组件创建标题。

  • XML 元素:nativeLabel

  • Java 类:NativeLabel

基本用法

nativeLabel 组件可以替换 Jmix 中大多数 UI 组件的 label 属性。

如需为某个组件设置标题,需要将 label 的 setFor 属性设置为目标组件的 id。例如,为 checkbox 设置标题:

<div>
    <checkbox id ="checkbox"/>
    <nativeLabel text="Enable Notifications" setFor="checkbox"/>
</div>
label basic

将 label 与组件关联可以使得辅助功能技术能正确地解析组件的标题,比如屏幕阅读器。

如需添加不与组件关联的文本,请使用 spandiv 组件。

动态标题

如需动态设置或更新 nativeLabel 展示文本,首先需要设置其 id 属性:

<nativeLabel id="dynamicLabel" setFor="button"/>
<button id="button" text="Click"/>

在视图控制器中,通过 id 引用这个标签,然后使用 setText() 方法更新文本:

@ViewComponent
private NativeLabel dynamicLabel;

@Subscribe("button")
public void onButtonClick(final ClickEvent<JmixButton> event) {
    dynamicLabel.setText("Button clicked " + event.getClickCount() + " times.");
}
label dynamic

XML 属性

setFor

设置该 label 关联的目标组件 id。

themeNames

为组件添加主题。支持:

  • normal

  • success

  • error

  • contrast

  • primary

  • small

  • pill

whiteSpace

MDN

定义组件的 white-space 样式值。支持:

  • NORMAL

  • NOWRAP

  • PRE

  • PRE_WRAP

  • PRE_LINE

  • BREAK_SPACES

  • INHERIT

  • INITIAL

事件和处理器

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

参考