radioButtonGroup 单选组

radioButtonGroup 支持使用单选按钮从选项列表中选择单个值。

  • XML 元素:radioButtonGroup

  • Java 类:JmixRadioButtonGroup

基本用法

使用 radioButtonGroup 最简单的场景是为实体属性选择枚举值。

radio button group basics
<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 属性,这是一个枚举类型。

事件和处理器

在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 CodeGenerate 菜单(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;
}

XML 内部元素

参考