layui的table模块显示数据库的信息

1.先写连接数据库接口在index.js中

注意:接口中必须返回data数据,服务器发送给浏览器的数据就是json类型,无需再进行json转换,layui中的table接受的数据必须是json类型,所以无需进行json类型的转换


// 查询所有普通用户的接口,并返回所有数据
app.get("/alluser", function(req, res) {
    usersDB(`select * from user`, function(data) {
        res.json({ "data": data });
        console.log("返回的数据库数据2", data);
    })
})


2 .在html只用写入一个table表格,利用layui中的table模块 动态把数据显示在table表格中

<table id="demo" lay-filter="test"></table>
    <link rel="stylesheet" href="../layui/css/layui.css">
    <script src="../layui/layui.js"></script>

这里的link和script指的是layui文件夹里边自带的css和js,layui文件夹需要在官网中下载然后放到项目中。官网:Layui - 经典开源模块化前端 UI 框架

使用table模块之前,必须加载引入table模块,才能出来相应的效果


layui.use(['table', 'jquery'], function() {
            var table = layui.table,
                $ = layui.jquery;
 })


table模块中通过table.render() 方法 来渲染表格,并且指定html中的table容器。


table.render({
                elem: "#demo",
                url: "/alluser",
                parseData: function(res) {
                    return {
                        "code": 0,
                        "data": res.data
                    }
                },
                cols: [
                    [{
                        field: 'id',
                        title: "id",
                        sort: true
                    }, {
                        field: 'username',
                        title: "姓名",
                        sort: true
                    }, {
                        field: 'password',
                        title: "密码",
                        sort: true
                    }, {
                        field: 'age',
                        title: "年龄",
                        width: 100,
                        sort: true
                    }, {
                        field: 'sex',
                        title: "性别",
                        width: 70
                    }, ]
                ]

            })

table.render()参数:

  • elem:指定原始table容器的选择器,也就是table标签的id值,必填项
  • url:异步解耦相关参数,必填项。url的值可以是一个死的json数据文件,也可以是接口路径(数据库接口路径),不论是json文件还是接口,其数据类型必须是 {"code":0,"data":[{数据}]}
  • cols:表头,是一个二维数组,必填
    cols表头的参数:
  • field:字段名,对应数据库中的字段名
  • title:标题名称,就是显示在table中的标题名字
  • width:每一个字段的宽度
  • 更多参数去layui官方文档查看:table 数据表格文档 - Layui
  • parseData:是一个回调函数,如果返回的数据不符合table组件规定的数据格式,就需要用到parseData回调函数
•  parseData: function(res) {
              return {
                   "code": 0,
                   "data": res.data
        }
     }
  • return就是返回给table标签的内容(自己理解的,不准确)
  • 回调函数的参数就是url接口返回的数据。
  • 在回调函数中必须设置code为0,不然就报错 ” 返回的数据不符合规范,正确的成功状态码应为:"code": 0 “。
  • 设置data,就是返回给table组件的数据,类型必须是数组嵌套对象类型 [{ }],这里用数据库接口就必须用到res.data调用"/alluser"接口返回的数据。