java - 如何在 Java 的按钮列表中设置一个 less 类

标签 java css gwt less errai

我想在按钮被选中时添加一个 less 类。

我有一个轨道按钮列表:

    @Inject
    @DataField("trackButtonList")
    @ListContainer("div")
    private ListComponent<Integer, StationTrackButton> trackButtonList;

当我选择其中一个时,我尝试将类激活到相应的按钮:

        trackButtonList.setSelector(b -> b.setSelected(true));
        trackButtonList.setDeselector(b -> b.setSelected(false));

        public void setSelected(boolean isSelected) {
           if (isSelected) {
                trackButton.classList.add("active");
           } else {
                trackButton.classList.remove("active");
           }
        }

选择一个按钮时,我无法设置“Activity ”类。但是,如果我在 devTools 上的 google chrome 上添加类“active”,按钮将获得相应的背景颜色。

我在 html 中有这部分的代码:

    <div data-field="trackButtonList" class="nav nav-pills nav-fill">
    <button data-field="trackButton" class="nav-item nav-link"></button>
</div>

在 less 文件中:

&.nav-item.nav-link {
    &.active {
        background-color: @light-green-color;
    }}

trackButton 是这样注入(inject)的:

    @Inject
    @Named("button")
    @DataField("trackButton")
    private HTMLElement trackButton;

最佳答案

我认为LESS代码中有一个小错误,应该是:

.nav-item.nav-link {
    &.active {
        background-color: @light-green-color;
    }
}

尽管如此,我认为问题不在于此。我认为这是您将组件标记为选中的方式。如果您没有使用正确的组件实例作为参数,有时 ListComponent.selectComponent() 无法按预期工作。

尝试改用 ListComponent.selectModel()

关于java - 如何在 Java 的按钮列表中设置一个 less 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56441338/

相关文章:

javascript - 从地址栏隐藏 URL

java - Queue UnavailableException : no queue available to send.(队列或 session 可能已过期)

java - 重量。客户端包。覆盖小部件的默认 css 样式

java - 如何在 spring-mvc 中配置 slf4j 进行日志记录?

java - Swing 无法正确渲染我的 JPanel

java - spring boot中Aop的问题

gradient - 如何在渐变背景上制作带有阴影的文本渐变?

java - 由 scribe (java) 处理 facebook/twitter 的 utf-8

css - Bootstrap 3 CSS 表格半宽

css - 2 行 3 个内联 block div 在不同的分辨率下中断