我想实现一个下拉组件,在展开时显示所选的选项。
这是我目前所拥有的,但它标记了我不想要的选定选项。我希望它们看起来类似于单个选择下拉列表,它们只是阴影/突出显示,但可以选择多个。
<Dropdown
text="Filter"
icon="filter"
className="icon"
fluid multiple selection labeled button
options={filterOptions}
/>
答案 0 :(得分:1)
正如您所注意到的,Semantic(目前)不支持关于多选的大量自定义。所以,你有两个基本选择。首先,您可以使用子组件自己实现下拉列表的详细信息(包括所有被触发的事件),并且仅依赖Semantic进行样式设置。如果你选择这条路线,你也可以自己编写。
或者,您可以使用一些Semantic的内置函数来破解解决方案。
为此,您需要更改两个主要行为:
1st - 你需要隐藏标签。您可以通过修改下拉列表中的renderLabel
方法来执行此操作。从该方法返回null
将阻止呈现标记。
第二 - 您需要取消隐藏下拉菜单中的所选选项。没有内置的方法来执行此操作,但您可以通过为所选的每个选项插入新的重复选项来伪造它。确保附加onClick以允许取消选择对象。
以下是一个有效的例子:https://stackblitz.com/edit/so-49442592
有很多怪癖,所以随时提问!