layui的分页重载搜索问题

提起重载表格,一般有两种情况;

1.刷新表格,回到第一页;

2.带着已知条件(带有模糊搜索的条件)回到当前页;

前段页面js:

           说明:三个条件是搜索的条件;page可以使用js获取当前页的页码传到后台,亲测有效;


        /**重载表格**/
        $('.demoTable .layui-btn').on('click', function () {
            reloadTable($("#username").val(),$("#mobile").val(),$("#email").val());
        });

        /**重载的函数
         * */
        function reloadTable(username,mobile,email){
            table.reload('adminUserReload', {
                where: { //设定异步数据接口的额外参数,任意设
                    username:username,
                    mobile:mobile,
                    email:email
                }
                , page: {
                    curr: 1 //重新从第 1 页开始
                }
            });
        }

后台控制层:我没有在控制层小括号接收参数,这样子非常不方便,而是封装了个ReqAndResData去接收并返回数据。可以动态的接收任何String类型的参数。

    /**
     * 获取所有的管理员的列表
     * @return
     */
    @RequestMapping(value = "/getAllAdminUserList")
    @ResponseBody
    public LayuiRes getAllAdminList(){
        ReqAndResData reqAndResData=new ReqAndResData(this.getRequest());
        List<User> userList = userService.getUserList(1, reqAndResData.getReqMap());
        PageInfo info = new PageInfo(userList);
        return reqAndResData.getLayuiData((int)info.getTotal(),info.getList());
    }

 工具类:很好理解,方法上有相应的注释;

package com.lhl.utils;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author lhl
 * @version 1.0
 * @date 2019/11/14 23:12
 * @description 请求参数和返回数据包装
 */
public class ReqAndResData<T,k>{
    private static Map<String, Object> reqMap=new HashMap<>();//http的request请求
    /**
     * 具体返回哪个类型,根据具体需求----如果简单的需求,可不用该类。
     */
    private T resData;//映射的一个实体还是一个map都可以或者集合形态,都行。返回信息。

    public ReqAndResData() {
    }

    /**
     * 实例化时候自动获取请求参数。
     * @param request
     */
    public ReqAndResData(HttpServletRequest request) {
        Map<String, String[]> parameterMap = request.getParameterMap();
        for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
            reqMap.put(entry.getKey(),entry.getValue()[0]);//这里暂不考虑同名的请求参数
        }
    }

    public Map<String, Object> getReqMap() {
        return reqMap;
    }

    public void setReqMap(Map<String, Object> reqMap) {
        this.reqMap = reqMap;
    }


    public T getResData() {
        return resData;
    }

    public void setResData(T resData) {
        this.resData = resData;
    }


    /**
     * 获取layui表格要求的返回值类型
     * @param total
     * @param data
     * @return
     */
    public LayuiRes getLayuiData(Integer total, List<Object> data){
        return new LayuiRes(0,"",total,data);
    }


}

效果图例一:

效果图例2:

有啥不懂得小伙伴们加群交流啦:852665736;本群致力于一同进步的小伙伴们,大家一起交流探讨,在陌生的城市感受温暖;

 无偿免费分享源码以及技术和面试文档,更多优秀精致的源码技术栈分享请关注微信公众号:gh_817962068649

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值