首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fomantic-UI -使用设置初始化下拉列表

Fomantic-UI -使用设置初始化下拉列表
EN

Stack Overflow用户
提问于 2020-01-28 16:31:09
回答 1查看 631关注 0票数 0

对于这个问题,可能有一个简单的解决方案,但我不能弄清楚。从Semantic-UI到Fomantic-UI之后,发生了一个变化,我需要帮助。

在初始化我想要显示的下拉列表时,这在早些时候起作用了:

代码语言:javascript
复制
$('.ui.dropdown').dropdown('show',{                                 
  maxSelections:2  
});

但这些设置似乎被忽略了(本例中为maxSelections)。

如果我使用:

代码语言:javascript
复制
$('.ui.dropdown').dropdown({                                    
    maxSelections:2  
});

这些设置工作正常。

工作https://jsfiddle.net/ruznv83a/2/

不工作的https://jsfiddle.net/ruznv83a/1/

我将非常感谢任何人的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2020-01-28 17:30:34

如果我理解正确的话,问题出在将参数转换为基于对象的dropdown模块。看一下源代码,在第26行,我们可以看到:

代码语言:javascript
复制
$.fn.dropdown = function(parameters) {
...

这是dropdown功能首次声明的地方,这样您就可以调用$('selector').dropdown();。然后在50行左右我们可以看到:

代码语言:javascript
复制
settings = ( $.isPlainObject(parameters) )
    ? $.extend(true, {}, $.fn.dropdown.settings, parameters)
    : $.extend({}, $.fn.dropdown.settings),

它查看“参数”的组成,并决定如何解释它--基本上,如果参数是JS对象,则通过合并到下拉缺省值中使用它,否则单独使用缺省值。

返回到您的测试,在以下情况下:

代码语言:javascript
复制
$('.ui.dropdown').dropdown('show',{                                 
  maxSelections:2  
});

您传入了两个参数,并且只在$.fn.dropdown函数中使用了第一个参数,因此根据您的结果,maxSelections选项将被忽略。

在以下情况下:

代码语言:javascript
复制
$('.ui.dropdown').dropdown({                                    
    maxSelections:2  
});

您提供的参数确实是一个普通对象,因此它具有所需的结果。

当然,这是对你所看到的内容的技术解释,但它仍然留下了一个问题:“我如何在文档中找到它?”我相信文档需要迎头赶上--我希望FUI团队能尽快解决这个问题,因为他们正在做的工作是高质量的,而文档正在破坏他们的工作,IMHO。

同样作为一个观点,我认为转向JS对象参数方法是正确的方向。因此,尽管对于任何来自语义UI背景的人来说,这可能是一个“令人震惊的变化”,但当它应用于所有FUI组件时,它将提供一种更标准的方法。我希望随着时间的推移,所有组件都会遇到这种变化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59944750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档