将项目数据传递给Yii2可排序小部件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将项目数据传递给Yii2可排序小部件相关的知识,希望对你有一定的参考价值。

我正在使用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

以上是关于将项目数据传递给Yii2可排序小部件的主要内容,如果未能解决你的问题,请参考以下文章

通过 Django 将 Python 数据传递给 JavaScript

如何将片段中的 ListView 对象的数据传递给 Activity?

在 Flutter 中,如何将数据传递给 Stateless Widget?

如何将变量数据传递给 createFragementContainer

如何在 Yii2 中将带有 kartik-Select2 小部件项目的选择保存到 DB?

Yii2 DetailView小部件