radioButtonGroup 单选组
基本用法
使用 radioButtonGroup
最简单的场景是为实体属性选择枚举值。
<data>
<instance class="com.company.onboarding.entity.User" id="userDc">
<fetchPlan extends="_base"/>
<loader id="userDl"/>
</instance>
</data>
<layout>
<radioButtonGroup dataContainer="userDc"
property="onboardingStatus"
themeNames="vertical"
label="Select the onboarding status"/>
</layout>
上面的示例中,User
实体具有 OnboardingStatus
类型的 onboardingStatus
属性,这是一个枚举类型。
XML 属性
id - alignSelf - classNames - colspan - css - dataContainer - enabled - errorMessage - height - helperText - invalid - itemsContainer - itemsEnum - label - maxHeight - maxWidth - minHeight - minWidth - property - readOnly - required - requiredIndicatorVisible - themeNames - visible - width
事件和处理器
AttachEvent - ClientValidatedEvent - ComponentValueChangeEvent - DetachEvent - itemEnabledProvider - itemLabelGenerator - statusChangeHandler - validator
在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 Code → Generate 菜单(Alt+Insert / Cmd+N)生成。 |
itemEnabledProvider
itemEnabledProvider
会对 radioButtonGroup
中的每一项进行判断,如果返回 true
,则该项可用,反之则禁用。禁用的条目以灰色显示,用户无法选择。所有项默认启用。
@Install(to = "radioButtonGroup", subject = "itemEnabledProvider")
private boolean radioButtonGroupItemEnabledProvider(OnboardingStatus onboardingStatus) {
if (onboardingStatus != null) {
return onboardingStatus.getId() != 30;
}
return true;
}