4.0 中的新特性

Select2 的 4.0 版本是基于对代码库三年多的开发工作并明确其发展方向的结果。本质上,这是一次完整的重写,解决了之前版本中无法解决的许多可扩展性和可用性问题。

此次发布包含了许多破坏性的更改,但也创建了易于升级的路径以及帮助模块,使您可以保持与旧版 Select2 的向后兼容性。升级需要您仔细阅读发行说明,但迁移路径应该相对简单直接。您可以查看需要进行的最常见更改列表在发行说明中.

此新版本的主要特性包括:

  • 更加灵活的插件框架,允许您覆盖 Select2 的行为,使其完全按照您的需求运行。
  • 所有数据适配器与标准元素保持一致性,消除了隐藏元素的需要。<select> elements for all data adapters, removing the need for hidden <input>元素的向后兼容性。
  • 一种使用 AMD 来保持组织结构的新构建系统。
  • 减少特定的选择器,使得 Select2 可以进行样式定制以适应您的应用程序其他部分。

插件系统

Select2 现在提供了接口,使其可以轻松扩展,任何人都可以创建改变 Select2 工作方式的插件。这是将 Select2 拆分为四个不同部分的结果,每个部分都可以扩展并组合使用,从而打造独特的 Select2。

这些适配器实现了一个一致的接口,并在高级章节中进行了文档记录,让您能够自定义 Select2 实现您的特定需求。Select2 设计允许您混合和匹配插件,大多数核心选项都作为装饰器构建,包裹标准适配器。

基于 AMD 的构建系统

Select2 现在使用一个基于 AMD 的构建系统,允许构建仅包含您所需部分的 Select2。虽然尚未创建自定义构建系统,但 Select2 是开源的,并且非常欢迎提交相关的拉取请求。

Select2 包含最小化的almondAMD 加载器,如果您已经使用了 AMD 加载器,则提供了一个自定义select2.amd.js构建。代码库(可在src目录中获得)也使用 AMD,允许您将 Select2 包含在自己的构建系统中,并与现有基础设施一起生成自己的构建。

Select2 使用的 AMD 方法以jQuery.fn.select2.amd.define()/require()提供的形式存在,允许您使用所包含的 almond 加载器。这些方法主要用于翻译,但它们是访问 Select2 提供的自定义模块的推荐方式。

无噪 Logo
无噪文档
25 年 6 月翻译
文档源↗