多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 下拉搜索 > 图片示例: ![](https://img.kancloud.cn/04/04/0404511013a85f3124d886645f901659_1920x903.png) > 配置项 | key | 类型 | 是否必须 | 说明 | | --- | --- | --- | --- | | type | string | 是 | 固定值:`dropdownSearch` | | 通用配置... | | url | string | 是 | 数据请求地址 | | multi | bool | 否 | 是否多选,默认true | | disabled | bool | 否 | 禁用,默认false | > 字段值 配置项multi=true时返回一维数组/json字符串/,分割字符串。 示例:`["100","101"]`或`[\"100\",\"101\"]`或`100,101` 配置项multi=false时返回单一结果 > 代码示例: ~~~ // 表单构建器配置 $builder=YF('general_example')->tab([ 'base'=>'基础']) ->field(function($tab){ $field=[ 'dropdownSearchTest'=>[ 'title'=>'朋友', 'type'=>'dropdownSearch', 'verify'=>'require|array', 'url'=>url('dropdownSearchOptions'), ], ]; return $field; }) ~~~ ~~~ // 数据请求 public function dropdownSearchOptions(){ $data=input('get.'); // 输入关键字 $keywords=filter_sql($data['keywords']); // 使用 , 分割的初始值 $ids=filter_sql($data['ids']); // 进行数据查询 $whereArr=[]; if($keywords) $whereArr[]=['name_cn|name_en','like',$keywords.'%']; if($ids) $whereArr[]=['id','in',$ids]; $fieldArr=['id','name_cn','name_en']; $datas=Db::name('example')->field($fieldArr)->where($whereArr)->order(['id'=>'desc'])->limit(0,20)->select(); $items=[]; foreach ($datas as $data){ $items[$data['id']]="{$data['name_cn']}({$data['name_en']})"; } // 返回数据 return success_json($items); } ~~~