第一次发现它是同学推荐给我的,发现真的非常方便,layui网址:https://www.layui.com/,下面简单介绍和记录一下。

准备工作

  • 将layui下载下来,其中包含css/font/images/lay和layui.js四个文件夹和一个js文件。
  • 参考官方文档和示例,找你需要的模块。

下面记录一下几个用过的模块。

layui后台布局

后台布局的效果如图所示,直接点击获取布局代码幅值过去改下路径就能用。

layui数据表格

记录一个bug

数据表对应的js代码为:

layui.use('table', function(){
  var table = layui.table;
  
  table.render({
    elem: '#test'
    ,url:'/demo/table/user/'
    ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
    ,cols: [[
      {field:'id', width:80, title: 'ID', sort: true}
      ,{field:'username', width:80, title: '用户名'}
      ,{field:'sex', width:80, title: '性别', sort: true}
      ,{field:'city', width:80, title: '城市'}
      ,{field:'sign', title: '签名', width: '30%', minWidth: 100} //minWidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增
      ,{field:'experience', title: '积分', sort: true}
      ,{field:'score', title: '评分', sort: true}
      ,{field:'classify', title: '职业'}
      ,{field:'wealth', width:137, title: '财富', sort: true}
    ]]
    ,page: true
    ,response: {
      statusCode: 200 //重新规定成功的状态码为 200,table 组件默认为 0
    }
    ,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
      return {
        "code": res.status, //解析接口状态
        "msg": res.message, //解析提示文本
        "count": res.total, //解析数据长度
        "data": res.data.content //解析数据列表
      };
    }
  });
});

在controller中返回数据结构类为:

package com.example.springboot.utils;

public class LayuiTableResultUtil<T> {
    private T data;
    private String msg;
    private int code;
    private Long count;

    public LayuiTableResultUtil(int code,String msg, Long count, T data) {
        this.msg = msg;
        this.data = data;
        this.code = code;
        this.count = count;
    }

    @Override
    public String toString() {
        return "LayuiTableResult [msg=" + msg + ", data=" + data + ", code=" + code + ", count=" + count + "]";

    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Long getCount() {
        return count;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }
}

项目启动,返回页面上显示json字符串,无法解析数据;调了三天也没解决,然后换Thymeleaf显示了。

{
"code":0,
"msg":"",
"count":100,
"data":{"content":[
{"id": 1, "username": "user1", "sex": "女", "city": "城市-0", "sign": "签名-0", ...}
{"id": 1, "username": "user1", "sex": "女", "city": "城市-0", "sign": "签名-0", ...}
{"id": 1, "username": "user1", "sex": "女", "city": "城市-0", "sign": "签名-0", ...}
...
]}
}