## addTopSelect('表单项名', '第一个下拉菜单项标题', '选项' [, '默认选项', '忽略参数']) >[info] ### 1.0.5版本开始支持 比如: ~~~ $list_role = Db::name('admin_role')->column('id,name'); ->addTopSelect('role', '角色', $list_role) ~~~ ![](https://box.kancloud.cn/a88acdbae63810467208ea36541d03eb_570x287.png) ### 默认选项 ~~~ $list_role = Db::name('admin_role')->column('id,name'); ->addTopSelect('role', '角色', $list_role, 2) ~~~ 表示默认选中值为2的选项。 >[info] 提示,这里所设置的默认值,只是页面默认显示指定的选项。你应该在查询前把默认值带入->where(),比如 ~~~ // 获取查询条件 $map = $this->getMap(); if (empty($map) || !isset($map['role'])) { $map['role'] = 2; } // 数据列表 $data_list = UserModel::where($map)->order('sort,id desc')->paginate(); $list_role = Db::name('admin_role')->column('id,name'); // 使用ZBuilder快速创建数据表格 return ZBuilder::make('table') ->addColumns([ // 批量添加列 ['id', 'ID'], ['username', '用户名'], ['nickname', '昵称'], ['status', '状态', 'switch'], ['right_button', '操作', 'btn'] ]) ->addTopSelect('role', '角色', $list_role, 2) ->fetch(); ~~~ ### 忽略参数 有些情况下,某些下拉筛选是有上下级关系的,比如省份和城市,那么我们需要给省份添加一个忽略参数,也就是省份的url要忽略城市。 ~~~ ->addTopSelect('province', '省份', $list_province, '', 'city') ->addTopSelect('city', '城市', $list_city) ~~~ 这样的话,当我们选择某个省份的时候,不会把城市的参数带进url,以免查询结果不正确。 也可以忽略多个参数,参数间用逗号隔开。 ~~~ ->addTopSelect('province', '省份', $list_province, '', 'city,area') ->addTopSelect('city', '城市', $list_city, '', 'area') ->addTopSelect('area', '地区', $list_area) ~~~