
需要在控制器中重写getLeftCate方法
<?phpnamespace app\controller;use app\BaseController;use think\db\Query;use tpScriptVueCurd\option\LeftCate;/*** 人员控制器*/class User extends BaseController{use \tpScriptVueCurd\base\controller\Controller;public function init(): void{$this->title='人员信息';$this->md=\app\model\User::make($this);}/*** 所有子表的控制器对象* @return array*/protected function childControllers(): array{return [Pets::make(),];}public function getLeftCate(): ?LeftCate{$leftCate=new LeftCate(function (){return [['value'=>1,'pvalue'=>0,'title'=>'浙江省'],['value'=>11,'pvalue'=>1,'title'=>'绍兴市'],['value'=>12,'pvalue'=>1,'title'=>'杭州市'],['value'=>13,'pvalue'=>1,'title'=>'湖州市'],['value'=>101,'pvalue'=>12,'title'=>'西湖区'],['value'=>102,'pvalue'=>12,'title'=>'萧山区'],//禁用选项['value'=>103,'pvalue'=>12,'title'=>'滨江区','disabled'=>true],['value'=>2,'pvalue'=>0,'title'=>'安徽省'],['value'=>3,'pvalue'=>0,'title'=>'河南省'],['value'=>4,'pvalue'=>0,'title'=>'江西省'],];});$leftCate->show=true;$leftCate->paramName='area_id';$leftCate->title='人员所在地区';$leftCate->where=function (Query $query)use($leftCate){$areaId=$this->request->get('area_id/d');if(empty($areaId)){//不进行筛选return;}$list=$leftCate->getList();if(!isset($list[$areaId])){$this->error('参数area_id值不合法');}$areaIdIds=$list[$areaId]['childLastVals']?:[$areaId];$query->where('area_id','in',$areaIdIds);};return $leftCate;}}
注意:如果paramName设置的值为base_id时,会将右侧列表当为左侧树形列表的子表,此时,不需要写where条件
<?phpnamespace app\controller;use tpScriptVueCurd\base\model\BaseModel;use tpScriptVueCurd\option\FunControllerListChildBtn;use tpScriptVueCurd\option\LeftCate;/*** 宠物控制器*/class Pets extends \app\BaseController{use \tpScriptVueCurd\base\controller\Controller;public function init(): void{$this->title='宠物';$this->md=\app\model\Pets::make($this);}protected function parentController(): ?object{return User::make();}public static function baseListBtnText(FunControllerListChildBtn $btn, BaseModel $info): void{$btn->text='所有宠物';}public function getLeftCate(): ?LeftCate{$leftCate=new LeftCate(function (){return \app\model\User::field('id AS value,0 AS pvalue,name AS title')->select()->toArray();});$leftCate->show=true;$leftCate->title='人员';$leftCate->paramName='base_id';return $leftCate;}}

