在开发 Yii2 项目时,经常会遇到需要对列表或表格进行排序的需求。传统的做法是使用 jQuery UI 的 Sortable 插件,但这种方式比较笨重,会增加前端的资源加载负担。为了解决这个问题,我尝试了 kartik-v/yii2-sortable 组件。
kartik-v/yii2-sortable 是一个 yii 2.0 的小部件,它允许你创建可排序的列表和网格,并使用简单的拖放来操作它们。它基于轻量级的 html5sortable jquery 插件,该插件使用原生 html5 api 进行拖放。它是 jui sortable 插件的更精简的替代品,并提供非常相似的功能。
主要特点:
- 轻量级: 压缩后小于 1KB 的 JavaScript 代码。
- 原生 API: 基于 HTML5 drag and drop API,性能更优。
- 灵活布局: 支持列表和网格两种布局方式。
- 易于使用: API 和行为与 jQuery UI Sortable 插件类似。
- 广泛兼容: 兼容 IE 5.5+, Firefox 3.5+, Chrome 3+, Safari 3+ 和 Opera 12+ 等主流浏览器。
安装方式:
通过 Composer 安装:
php composer.phar require kartik-v/yii2-sortable "@dev"
或者在 composer.json 文件的 require 部分添加:
"kartik-v/yii2-sortable": "@dev"
使用示例:
创建一个简单的可排序列表:
use kartik\sortable\Sortable;
echo Sortable::widget([
'type' => Sortable::TYPE_LIST,
'items' => [
['content' => 'Item # 1'],
['content' => 'Item # 2'],
['content' => 'Item # 3'],
]
]);总结:
kartik-v/yii2-sortable 组件以其轻量级、高性能和易用性,完美解决了 Yii2 项目中列表排序的难题。它基于原生 HTML5 API,避免了对大型 JavaScript 库的依赖,大大提升了前端性能。无论是简单的列表排序,还是复杂的表格排序,kartik-v/yii2-sortable 都能轻松胜任,是 Yii2 开发者的得力助手。
通过 Composer 安装:学习地址










