leandrogehlen / yii2-treegrid
该包已被弃用,不再维护。未建议替代包。
Yii2 框架的 jQuery TreeGrid 扩展
1.1.0
2018-01-16 10:34 UTC
Requires
- bower-asset/jquery-treegrid: 0.3.0
- yiisoft/yii2: ~2.0.13
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2023-10-31 00:22:40 UTC
README
这是 Yii 2 的 jQuery TreeGrid 扩展。它将 TreeGrid 组件封装为 Yii 小部件,从而使在 Yii 应用程序中使用 TreeGrid 组件变得非常简单。
安装
安装此扩展的首选方式是通过 composer。
运行
php composer.phar require --prefer-dist leandrogehlen/yii2-treegrid "*"
或添加
"leandrogehlen/yii2-treegrid": "*"
到您的 composer.json
文件的 require 部分。
使用方法
模型
use yii\db\ActiveRecord; /** * @property string $description * @property integer $parent_id */ class Tree extends ActiveRecord { /** * @inheritdoc */ public static function tableName() { return 'tree'; } /** * @inheritdoc */ public function rules() { return [ [['description'], 'required'], [['description'], 'string'], [['parent_id'], 'integer'] ]; } }
控制器
use yii\web\Controller; use Yii; use yii\data\ActiveDataProvider; class TreeController extends Controller { /** * Lists all Tree models. * @return mixed */ public function actionIndex() { $query = Tree::find(); $dataProvider = new ActiveDataProvider([ 'query' => $query, 'pagination' => false ]); return $this->render('index', [ 'dataProvider' => $dataProvider ]); }
视图
use leandrogehlen\treegrid\TreeGrid; <?= TreeGrid::widget([ 'dataProvider' => $dataProvider, 'keyColumnName' => 'id', 'parentColumnName' => 'parent_id', 'parentRootValue' => '0', //first parentId value 'pluginOptions' => [ 'initialState' => 'collapsed', ], 'columns' => [ 'name', 'id', 'parent_id', ['class' => 'yii\grid\ActionColumn'] ] ]); ?>
添加资源
当需要添加其他资源文件时,应使用 依赖注入 概念。
要使用 saveState
选项,需要添加 jquery.cookie.js
。
//config/web.php $config = [ 'id' => 'my-app', 'components' => [ ... ] ... ] Yii::$container->set('leandrogehlen\treegrid\TreeGridAsset',[ 'js' => [ 'js/jquery.cookie.js', 'js/jquery.treegrid.min.js', ] ]); return $config;