0

我一直在尝试有条件地删除当前项目中使用 gwt-bootstrap3 的选择框末尾的菜单箭头。

我尝试了以下选项:

<select:Select ui:field="fieldName" name="fieldName" b:id="fieldName" showMenuArrow="false">
    <select:Option ui:field="option1" text="option1Text"/>
</select:Select>

我也尝试过通过api,使用

fieldName.setShowMenuArrow(false);

当我想指示此选择器已禁用并且选项不可用于选择下拉菜单时,我主要希望禁用此菜单箭头。

在通过浏览器检查元素时:我注意到在选择框的 div 中还有其他 div/span 和一个嵌套为主选择器 div 的子项,特别是

<span class="caret"></span>

删除此类名称后,我可以使 menuArrow 消失。然而,使用 querySelector 使用这个插入符号类访问特定的 span 标签,然后确保这是正确的标签(从也有其他此类选择器的整个页面)似乎是一个轻微的挑战和笨拙。这是 chrome 上的 inspectElement 的一个片段。 用插入符号检查 Select 元素和 span

这似乎是选择器的 menuArrow 处理中的一个错误,如果它确实是一个错误,任何人都可以提出解决方法,直到修复?感谢您的建议/回答。谢谢!

4

1 回答 1

0

setShowMenuArrow方法用于其他用途:它打开/关闭此箭头:

选择时的菜单箭头

如果您想在所有禁用的选择框中隐藏插入符号,您可以尝试使用 css:

.bootstrap-select.disabled .caret {
    display: none;
}

如果你只想隐藏其中一些,首先添加新的类名,例如no-caret-on-disabled并使用:

.bootstrap-select.disabled.no-caret-on-disabled .caret {
    display: none;
}
于 2015-12-15T08:22:27.153 回答