将项目数据传递给Yii2可排序小部件(示例代码)

栏目: php · 发布时间: 2021-04-13

简介  这篇文章主要介绍了将项目数据传递给Yii2可排序小部件(示例代码)以及相关的经验技巧,文章约1195字,浏览量402,点赞数9,值得推荐!

我正在使用Yii2可排序小部件来生成拖放列表,但我无法弄清楚如何将项目数据添加到每个<li>元素。我希望能够像这样使用类似gridview的东西: -

echo Sortable::widget([
    'items' =>  ArrayHelper::map(Product::find()->all(), 'id', 'FullDescription'),
    'options' => ['tag' => 'ul', 'class'=>'connectedSortable', 'style'=>"min-height: 20px; border: 1px solid #000;"],
    'itemOptions' => ['tag' => 'li', 'data'=>['id'=>'$item->id']], // <-- this doesn't evaluate
    'clientOptions' => [  
       ...
    ],
]);

有任何想法吗?

答案

正如文档中所述,您应该将这些数据放在项目中,例如: :

$items = [];
$products = Product::find()->all();
foreach ($products as $p) {
    $items[$p->id] = [
        'content' => p->FullDescription,
        'options' => ['data' => ['id'=>$p->id]],
    ];
}

echo Sortable::widget([
    ...
    'items' => $items,
    ...
]);

http://www.yiiframework.com/doc-2.0/yii-jui-sortable.html#$items-detail


以上就是本文的全部内容,希望对大家的学习有所帮助,版权归原作者或者来源机构所有,感谢作者,如果未能解决你的问题,请参考以下文章。

Jquery将动态数据传递给事件处理程序(示例代码)

导航架构组件 - 将参数数据传递给startDestination(示例代码)

如何将解析器中的数据传递给函数

yii2之GridView小部件(示例代码)

Yii2 ActiveForm小部件渲染过程(示例代码)