ereminmdev / yii2-sortablejs
为 Yii 框架的排序断言。
v1.0.14
2023-10-23 04:13 UTC
Requires
- php: >=7.0
- npm-asset/sortablejs: ^1.13
- yiisoft/yii2: ~2.0.1
README
用于 Yii 框架的可重新排序的拖放列表小部件。
基于 JavaScript 库:https://github.com/RubaXa/Sortable
安装
composer require --prefer-dist ereminmdev/yii2-sortablejs
文档
ClientOptions: https://github.com/RubaXa/Sortable#sortable
使用
将小部件插入视图
<?= \ereminmdev\yii2\sortablejs\SortableJs::widget([
'elementSelector' => '.items',
'clientOptions' => [
'handle' => '.item-handle',
],
]) ?>
或使用 SortableJsAction 动作
- 将动作添加到控制器
public function actions()
{
return [
'sortable' => [
'class' => 'ereminmdev\yii2\sortablejs\SortableJsAction',
],
];
}
- 将小部件添加到视图
<?= SortableJs::widget([
'elementSelector' => '.items',
'storeSetAction' => Url::toRoute(['/site/sortable', 'model' => Product::class]),
]) ?>
技巧
在 AJAX 之后刷新
- 在视图中小部件之前添加
$this->registerJs('if (Sortable.active) Sortable.active.destroy();');
- 或将小部件的
destroyOldBeforeThis
选项设置为true