直接将数据传递给yii2树管理器

直接将数据传递给yii2树管理器,yii2,treeview,kartik-v,Yii2,Treeview,Kartik V,我的表单中有一个树节点。我用的是kartik-v。 这是我的视图代码: echo TreeViewInput::widget([ 'query' => Tree::find()->addOrderBy('root, lft'), 'headingOptions' => ['label' => 'Set Permission'], 'name' => 'name', 'value'

我的表单中有一个树节点。我用的是kartik-v。 这是我的视图代码:

echo TreeViewInput::widget([ 
  'query'             => Tree::find()->addOrderBy('root, lft'), 
  'headingOptions'    => ['label' => 'Set Permission'],
  'name'              => 'name',    
  'value'             => '1,2,3',     
  'asDropdown'        => false,           
  'multiple'          => true,            
  'fontAwesome'       => true,            
  'rootOptions'       => [
    'label' => '<i class="fa fa-tree"></i>', 
    'class' => 'text-success'
]);
echo TreeViewInput::widget([ 'query'=>Tree::find()->addOrderBy('root,lft'), 'headingOptions'=>['label'=>'Set Permission'], “名称”=>“名称”, '值'=>'1,2,3', “asDropdown”=>false, “多个”=>true, “fontAwesome”=>正确, “根选项”=>[ '标签'=>'', “类”=>“文本成功” ]); 但是,在这里,我必须遵循小部件中提到的相同的表结构。我有一些额外的字段和更多的权限。因此使用相同的结构有点复杂

是否可以将数组中的值直接传递给此小部件?如果可能,请告诉我数组格式


现在,我被这个树节点实现所困扰。

您可以通过一些技巧或使用另一种方法来实现:

1) 您可以向查询中添加如下条件:

Tree::find()->andWhere(['not in','id',[2,3,4]])->addOrderBy('root, lft'), 
通过此解决方案,您可以忽略不需要的行,就像您直接在数组中发送数据一样

2) 您可以通过使用js lib/plugin direct(如jsTree)使用另一种解决方案,在这种情况下,您可以创建并传递自定义数组direct…请看以下示例: