🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# select 树选择 这个可参考系统管理模块中的节点编辑实例 ![](https://box.kancloud.cn/2fdb9ebb378592e48ce71c22282c4a05_602x346.png) 这个可以在分类模型中直接参考节点管理模块中的方法 ~~~ 在模型 mdoel/ Category.php中添加 如下方法,表中需要有id,pid,name字段 /** * 获取树形角色 * @param null $id 需要隐藏的角色id * @param string $default 默认第一个菜单项,默认为“顶级角色”,如果为false则不显示,也可传入其他名称 * @author gyhong <63453409@qq.com> * @return mixed */ public static function getTree($id = null, $default = '') { $result[0] = '顶级分类'; $where['status'] = ['eq', 1]; // $where['status'] = ['egt', 0]; // 排除指定菜单及其子菜单 if ($id !== null) { $hide_ids = array_merge([$id], self::getChildsId($id)); $where['id'] = ['notin', $hide_ids]; } // 获取菜单 $roles = Tree::config(['title' => 'name'])->toList(self::where($where)->column('id,pid,name')); foreach ($roles as $role) { $result[$role['id']] = $role['title_display']; } // 设置默认菜单项标题 if ($default != '') { $result[0] = $default; } // 隐藏默认菜单项 if ($default === false) { unset($result[0]); } return $result; } ~~~ 然后在table中或者form中使用方法如下 ~~~ return ZBuilder::make('form') ->setPageTitle('导入指定型号配件信息') ->addFormItem('select', 'model', '选择导出型号', '',\app\pros\model\Category::getTree(),0) ->setBtnTitle('submit', '导出') ->hideBtn('back') ->isAjax(false) ->fetch(); table中类似,略 ~~~