🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 作用 使用通用数据列表视图的时候,可以通过setListSearch设置数据的搜索条件,实现列表页数据搜索功能。例如下面的在消息管理列表页,通过`setListSearch(array( 'msgtype' => '消息类型', 'content' => '消息内容' )`设置通过消息类型和消息内容进行消息的搜索。msgtype和content均为mp_message数据表里的字段。 ## 示例 ![](https://box.kancloud.cn/a9300885783ee5f7e50a49d9e8c85786_1230x744.png) ## 视图类实现 ``` /** * 消息列表 * @author 艾逗笔<765532665@qq.com> */ public function lists() { $custom = array( 'options' => array( 'save_to_material' => array( 'title' => '保存为素材', 'url' => U('save_to_material', array('msgid'=>'{msgid}')), 'class' => 'btn btn-sm btn-primary icon-signup' ), 'reply_message' => array( 'title' => '回复消息', 'url' => U('reply_message', array('msgid'=>'{msgid}')), 'class' => 'btn btn-sm btn-info icon-topic' ) ) ); $this->addCrumb('公众号管理', U('Mp/Index/index'), '') ->addCrumb('消息管理', U('Mp/Message/lists'), '') ->addCrumb('消息列表', '', 'active') ->addNav('消息列表', '', 'active') ->setModel('mp_message') ->setListMap(array('mpid'=>get_mpid())) ->setListOrder('create_time desc') ->setListSearch(array( 'msgtype' => '消息类型', 'content' => '消息内容' )) ->addListItem('msgtype', '消息类型', 'enum', array('options'=>array('text'=>'文本消息','image'=>'图片消息','voice'=>'语音消息','shortvideo'=>'短视频消息','location'=>'地理位置消息','link'=>'链接消息'))) ->addListItem('msgid', '消息内容', 'callback', array('callback_name'=>'get_message_content')) ->addListItem('create_time', '消息发送时间', 'function', array('function_name'=>'date','params'=>'Y-m-d H:i:s,###')) ->addListItem('openid', '粉丝头像', 'function', array('function_name'=>'get_fans_headimg')) ->addListItem('openid', '粉丝昵称', 'function', array('function_name'=>'get_fans_nickname')) ->addListItem('msgid', '操作', 'custom', $custom) ->common_lists(); } ``` ## 模型实现 ``` $model['list_search'] = array('msgtype' => '消息类型','content' => '消息内容' ); ``` >[warning] list_search对应的搜索条件数组键值对中的键必须是模型对象(数据表)中存在的字段,值为搜索框中显示的搜索条件名称。