java - 如何在 Java 中的按钮列表中设置较少的类
问题描述
当按钮被选中时,我想为它添加一个较少的类。
我有一个曲目按钮列表:
@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");
}
}
选择一个按钮时,我无法设置“活动”类。但是,如果我在 devTools 上的 google chrome 上添加“活动”类,按钮将获得相应的背景颜色。
我在 html 中有这部分的代码:
<div data-field="trackButtonList" class="nav nav-pills nav-fill">
<button data-field="trackButton" class="nav-item nav-link"></button>
</div>
在较少的文件中:
&.nav-item.nav-link {
&.active {
background-color: @light-green-color;
}}
trackButton 是这样注入的:
@Inject
@Named("button")
@DataField("trackButton")
private HTMLElement trackButton;
解决方案
我认为LESS代码中有一个小错误,应该是:
.nav-item.nav-link {
&.active {
background-color: @light-green-color;
}
}
尽管如此,我认为问题不存在。我认为这是您将组件标记为选中的方式。如果您不使用正确的组件实例作为参数,有时ListComponent.selectComponent()
无法按预期工作。
尝试ListComponent.selectModel()
改用。
推荐阅读
- javascript - 为什么我的 LWC 没有将提交时的值传递给我的顶级课程?
- c# - 我怎样才能让两个物体慢慢旋转到全速然后回到最小速度平滑?
- javascript - 在数组中输出偶数
- c# - 字符串格式化列表
- python - 在python中绘制度数分布
- angular-material - 如何对角度材料 MatTableDataSource 进行单元测试?
- c# - 了解 ldstr 如何获取字符串文字
- arrays - 我需要帮助来获取 API 提供的所有 JSON 数据
- android - 使用 Android 11 提供了大量关于访问 SQLiteDatabase 接口的输出日志
- mysql - 如何从两个 SQL 表中搜索条目并知道它来自哪个表?