如果您的页面中有多个 Select2 元素,您可能希望每个 Select2 元素具有不同的最大项目限制。
我编写了一个Less.js实现,您可以在其中生成要列为 css 类的项目数
注意:您应该在下拉菜单中检查项目基本高度的字体。在此示例中,36px 用作下拉列表中一项的高度。
.generate-s2-maxheight(@n:6, @base-height:36px, @i:1) when (@i < @n) {
.select2-container--default .s2-mh-@{i} .select2-results>.select2-results__options
{
max-height: (@base-height * @i) !important;
}
// Iterate to the next css generation until it reaches to @n
.generate-s2-maxheight(@n, @base-height, (@i+1));
}
// Generation of css classes for item limitation from 1 to 9 items (10 is excluded)
//
.generate-s2-maxheight(10);
在下拉列表中显示 5 个项目的示例 CSS:
.select2-container--default .s2-mh-5 .select2-results>.select2-results__options {
max-height: 180px !important;
}
结果,您可以使用配置dropdownCssClass
来传递 css 类
$("<SELECT2_CLASS_OR_ID>").select2({
dropdownCssClass: "s2-mh-<NUM_OF_ITEMS_TO_SHOW>"
});
例子:
$(".select2").select2({
dropdownCssClass: "s2-mh-5"
});
`