新版本4.0如何给select2元素添加class?

How to add class to select2 element in new version 4.0?

这个问题和这个问题是一样的:

但是

None 这些答案有效或正确。我想我会再问一遍,因为这个答案对我来说真的很难找到。

甚至在整个 select2 文档中:https://select2.github.io/options.html

我在任何地方都找不到有关如何将自定义 class 添加到 select2 元素的信息。

在初始化 select2 元素时,我想添加一个选项,它将向 select2 元素添加一个 class。就这么简单,但我不知道怎么做。

我试过了

containerCss: "wrap"

& 

containerCssClass: "wrap"

作为选项,但它们不起作用。

在 Select2 4.0 中,您可以使用 selectionAdapter 来完成。类似于:

$.fn.select2.amd.require([
    'select2/utils',
    'select2/dropdown',
    'select2/dropdown/attachBody',
    'select2/selection/single',
    'select2/compat/containerCss',
], function (Utils, DropdownAdapter, AttachBody, SingleSelection, ContainerCss) {

  $('.my-select').select2({
    dropdownAdapter: Utils.Decorate(DropdownAdapter, AttachBody),
    selectionAdapter: Utils.Decorate(SingleSelection, ContainerCss),
    containerCssClass: 'select2-myselect'
  });
});

编辑:或者只使用select2.full.js而不是select2.js

您必须使用 Select2 select2.full.js 的完整版本才能支持 containerCssClass 选项。