Layui数据表格(table)前后台交互

简介: Layui数据表格(table)前后台交互

layui有自己的一套特定的数据格式交互,必须参数code:0,msg:"",count:数据size(int),data:"数据List"

<link rel="stylesheet" href="static/layui/css/layui.css" media="all" />
<script type="text/javascript" src="static/layui/layui.js"></script>
<table class="layui-hide" id="test" lay-filter="table"></table>
  • js代码
layui.use(['form','layer','table'], function(){
          var table = layui.table
          ,form = layui.form,$=layui.$;
          table.render({
            elem: '#test'  //绑定table id
            ,url:'sys/menu/list'  //数据请求路径
            ,cellMinWidth: 80
            ,cols: [[
              {type:'numbers'}
              ,{field:'name', title:'菜单名称'}
              ,{field:'parentName', title:'父菜单名称',width:150}
              ,{field:'url', title: '菜单路径'}
              ,{field:'perms', title: '菜单权限'}
              ,{field:'type', title:'类型'}
              ,{field:'icon', title:'图标'}
              ,{field:'orderNum', title:'排序'}
              ,{fixed: 'right',title: '操作', width:180, align:'center', toolbar: '#toolBar'}//一个工具栏  具体请查看layui官网
            ]]
            ,page: true   //开启分页
            ,limit:10   //默认十条数据一页
            ,limits:[10,20,30,50]  //数据分页条
            ,id: 'testReload'  
            ,where:{} // 传参数
          });
});
  • java后台
@RequestMapping("/list")
@ResponseBody
@RequiresPermissions("sys:menu:list")
public Layui list(@RequestParam Map<String, Object> params){
  //查询列表数据
  Query query = new Query(params);
  List<SysMenuEntity> menuList = sysMenuService.queryList(query);
  int total = sysMenuService.queryTotal(query);
  PageUtils pageUtil = new PageUtils(menuList, total, query.getLimit(), query.getPage());
  return Layui.data(pageUtil.getTotalCount(), pageUtil.getList());
}
  • Layui工具类
public class Layui  extends HashMap<String, Object> {
    public static Layui data(Integer count,List<?> data){
        Layui r = new Layui();
        r.put("code", 0);
        r.put("msg", "");
        r.put("count", count);
        r.put("data", data);
        return r;
    }
}
  • PageUtils
@Data
public class PageUtils implements Serializable {
    private static final long serialVersionUID = -1202716581589799959L;
    //总记录数
    private int totalCount;
    //每页记录数
    private int pageSize;
    //总页数
    private int totalPage;
    //当前页数
    private int currPage;
    //列表数据
    private List<?> list;
    /**
     * 分页
     * @param list        列表数据
     * @param totalCount  总记录数
     * @param pageSize    每页记录数
     * @param currPage    当前页数
     */
    public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) {
        this.list = list;
        this.totalCount = totalCount;
        this.pageSize = pageSize;
        this.currPage = currPage;
        this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
    }
}


相关文章
|
JSON 前端开发 Java
layui上传图片,前端直接拷代码,后端……
layui上传图片,前端直接拷代码,后端……
layUI数据表格可编辑表格单元格值修改之后获取修改前的值
layUI数据表格可编辑表格单元格值修改之后获取修改前的值
573 0
|
JSON 数据格式 容器
Layui 内置方法 - layer.photos(相册层)
Layui 内置方法 - layer.photos(相册层)
1986 0
|
容器
layui下拉多选框xm-select.js插件的使用
layui下拉多选框xm-select.js插件的使用
1116 0
【Layui】子页面向父级页面传递参数
【Layui】子页面向父级页面传递参数
1294 0
【Layui】子页面向父级页面传递参数
|
前端开发 索引
Layui 内置方法 - layer.style(重新定义层的样式)
Layui 内置方法 - layer.style(重新定义层的样式)
302 0
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
193 4
|
10月前
|
PHP Apache
【ThinkPHP框架教程·Part-04】URL访问模式
本章节介绍 ThinkPHP6.0 的 URL 访问模式,解析其访问方法。ThinkPHP 框架通过 URL 实现多种操作,默认为单应用模式。
【ThinkPHP框架教程·Part-04】URL访问模式
|
JSON 前端开发 JavaScript
layui-数据表格的实现
`layui`是一个前端UI框架,本文档介绍了如何使用layui创建数据表格。首先展示了三张截图来预览效果,接着讲解了下载layui资源包并导入到项目中的步骤。然后,在新建的web项目中引入layui的CSS和JS文件。文档提供了模拟的JSON数据来展示表格内容。接下来,详细说明了数据表格的实现,包括注意事项和代码实现,强调了`table`标签的`id`与`script`中`elem`的匹配。此外,文档还涵盖了监听头部工具栏和工具条事件的方法,并展示了弹出层的实现,用于添加和编辑表格数据。最后,给出了完整的HTML源码示例。
402 0