我在一个对话框中使用ComboBox和FilteringSelect,但还不能使控件只具有所需的最小宽度,即足够大以显示下拉列表中最长的文本。此外,控件不能设置为固定宽度,因为下拉列表的实际内容是从翻译数据库中填充的。
In plain html with a simple input of type text it works smooth just by default. However since even all examples at dojotoolkit.org show the very same behavior it seems to me that dojo introduces a minimum width for all those input controls. Thus I wonder if it can be done at all...
先谢了!
2条答案
按热度按时间but5z9lq1#
我也有同样的问题经过一番努力,我决定使用this来解决我的问题。
在我的例子中,我被迫使用旧版本的dojo,并且FilteringSelect是声明性的,因此我必须使用hack(下面代码的最后三行)来确保我的函数将在正确的时间执行。
因此,下面的函数获取所有dijit小工具,查找那些存储的元素是
select
(getAllDropdowns
),并为每个元素获取其选项,将内容复制到可见屏幕外的新元素中,并获取该元素的宽度,使用填充进行调整(您可能不是这种情况,所以请检查getWidth
);然后它取这些宽度中的最大值,并将其与input元素的当前长度进行比较,如果最长的选项更大,则调整input和最外面的div宽度。这个答案来得相当晚,但由于我得出这个解决方案并不容易,我认为它可能值得分享。
d6kp6zgx2#