语义UI下拉菜单允许添加 - 添加到菜单?

时间:2018-01-09 13:26:15

标签: semantic-ui

我正在尝试在单个搜索选择下拉列表中使用allowAdditions: true设置,并且它的行为与预期一致,但我试图让它的行为略有不同,并且无法找到任何示例或文档建议如何如果可能的话,可以做到。

现在,当我输入一个新值时,它只是设置隐藏输入的值,就是这样。我想要的是让它实际上将该项添加到菜单中,而不仅仅是设置输入值。

或者,是否有回调让我知道何时添加了自定义值,以便我可以在javascript中处理其余部分。我已经尝试了onLabelCreate回调,但我认为这只适用于多选下拉列表,因此它永远不会被解雇

修改

好的,看起来这是一个已知的错误https://github.com/Semantic-Org/Semantic-UI/issues/5759,但对回调问题没有帮助。

现在作为可怕的解决方法,我在页面加载时保留了下拉列表内容的列表,然后在onChange回调被触发时,检查是否新选择值存在于列表中。如果没有,则它将新的菜单项添加到下拉列表中,选择它,然后添加到已知项目列表中。可怕的黑客,但它现在有效

1 个答案:

答案 0 :(得分:0)

您提到的解决方法还有一种选择,在onChange()回调中,您可以检查$choice(与元素相对应的第三个参数)是否具有类addition,如下所示:< / p>

$('.dropdown').dropdown({
    ignoreCase: true,
    allowAdditions: true,
    hideAdditions: false,
    onChange: function(value, text, $choice) {
        if ($choice.hasClass('addition')) {
            console.log(`adding ${value}`);
        }
    }
})