layui分页limit不显示_LayUI的基本使用 - 分页

LayUI 分页处理

数据展示是以表格的形式展示的。使用模块如下:

首先使用内置模块-数据表格

然后使用内置模块-分页

官方文档地址:https://www.layui.com/doc/

官方示例地址:https://www.layui.com/demo/

具体步骤如下:

1、从 官方文档 - 内置模块 - 数据表格 中复制如下:

8b36c175e2dbd76ef3049dd487b579db.png

2、复制到页面、将CSS地址以及JS地址改为自己本地的地址

7419c7fdb18443a35812a52ac3f59dee.png

3、浏览器运行、会出现如下

6f008d32d8f0b5acbb6901fe6b798d07.png

4、发现提示数据接口请求异常:error。

解决:

1.1将代码中的url请求地址修改为自己的地址

1.2将cols参数修改成自己接口地址返回的参数

3e5bba8649d80e59855701ca4bcf4dda.png

5、然后到浏览器继续范围、依旧报错、错误如下:

cb0ff62f0c8d694e0792b00b1564ed59.png

6、针对问题去看、是接口返回的数据格式不正确的

然后我们去手册看接口数据返回格式。

具体:官方文档 - 内置模块 - 数据表格 – 返回的数据

d255a8b6134ff5f73054f6ec5999f61d.png

{

"code": 0,

"msg": "",

"count": 1000,

"data": [ {},{},{} ]

}

94f9b04d158dd0ba0d9f47d9458947da.png

8、改完自己的接口返回格式后、再次去浏览器访问、会出现如下效果就表示接口格式以及返回的数据是正确的

7b88c148b22a1fdd592259a8fd0ce6c9.png

9、在这块、看到的结果中、出现分页的效果、那代码是那块影响的呢?会发现在js代码中有一段代码:page:true // 开启分页。但是依旧存在问题、展示的分页数据不正确。解决:将如下代码复制出来、写在自己代码中、将接口返回的数据赋值给对应的参数。具体操作如下:

操作:示例 – 组件示例 – 数据表格 – 解析任意数据格式 – 查看代码 - parseData

d2feb05a9973183fefc33a1031ef7fb6.png

10、然后再次运行、会发现我们自己写的限制条数并没有起作用、然后再次看请求地址、会发现是通过get请求、固定参数 page、limit来操作的、同时给了默认的值;

page:1,

limit:10,

4c19414733bd68d213883c6fb5edd14c.png

操作:官方文档 - 内置模块 - 数据表格 – 异步数据接口 – method

a0932047aeb300ad4d21b3f15f3483f7.png

12、运行、查看请求、如下:

a522ecd6d988b57cfefeb6a276e09a27.png

操作:官方文档 - 内置模块 - 数据表格 – 异步数据接口 – request

代码:

request: {

pageName: 'page', // 页码的参数名称,默认:page

limitName: 'size' // 每页数据量的参数名,默认:limit

}

7fef9a351c1faca624b45a44639df7c3.png

14、运行、查看请求参数、具体如下:

ebda73216cb88a24e0d48474758a1e46.png

如何将首页默认显示条数改为自己想要的?

如何将浏览器默认显示的每页显示的条数改为自己想要的?

操作:官方文档 – 内置模块 – 数据表格 – 基础参数一览表 – limit、limits

代码修改:

limit:3,

limits:[2,3,5],

5b8c2902204fcb4feba6f1d0837dec42.png

16、运行、查看请求参数、具体如下:

c62facb9c32061fbc8e6de2be919bbc4.png

table模块快速使用

layui.use('table', function () {

var table = layui.table;

//第一个实例

table.render({

elem: '#demo'

, url: 'http://localhost/php/public/index.php/index/index/index' //数据接口

, method: 'post'

, page: true //开启分页

, limit: 3

, limits: [2, 3, 5]

, cols: [[

{ width: 80, type: 'checkbox' },

{ field: 'type_id', width: 80, title: 'ID', sort: true },

{ field: 'type_name', title: '分类名称', sort: true }

]],

parseData: function (res) { //将原始数据解析成 table 组件所规定的数据

return {

"code": res.code, //解析接口状态

"msg": res.msg, //解析提示文本

"count": res.data.total, //解析数据长度

"data": res.data.data //解析数据列表

};

},

request: {

pageName: 'page' // 页码的参数名称,默认:page

, limitName: 'size' //每页数据量的参数名,默认:limit

},

});

});

18、接口使用的TP5.0 没有使用模型层、具体简单代码如下:

namespace app\index\controller;

use think\Controller;

use think\Db;

use think\Request;

class Index extends Controller

{

public function index()

{

$size = Request::instance()->post( 'size', 3 );

$page = Request::instance()->post( 'page', 1 );

$res = Db::table( 'goods_type' )->paginate( $size, false, [ 'page'=> $page] );

$arr['code'] = 0;

$arr['msg'] = 'ok';

$arr['data'] = $res;

return json( $arr );

}

}

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个基于SSM框架和layui前端框架实现的分页实例: 首先,在Maven中引入相关依赖: ```xml <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.5.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.2.5.RELEASE</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.4</version> </dependency> <!-- C3P0 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.5</version> </dependency> <!-- layui --> <dependency> <groupId>com.layui</groupId> <artifactId>layui</artifactId> <version>2.5.6</version> </dependency> ``` 接着,创建一个实体类`User`,对应数据库中的`user`表: ```java public class User { private Integer id; private String name; private Integer age; //省略getter/setter方法 } ``` 然后,创建DAO层接口`UserMapper`,以及对应的XML文件`UserMapper.xml`,实现分页查询: ```java public interface UserMapper { List<User> getUserList(@Param("start") Integer start, @Param("pageSize") Integer pageSize); Integer getUserCount(); } ``` ```xml <select id="getUserList" resultType="User"> select * from user limit #{start},#{pageSize} </select> <select id="getUserCount" resultType="Integer"> select count(*) from user </select> ``` 再创建Service层接口`UserService`及其实现类`UserServiceImpl`,调用DAO层方法实现业务逻辑: ```java public interface UserService { PageInfo<User> getUserList(Integer pageNum, Integer pageSize); } @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public PageInfo<User> getUserList(Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum, pageSize); List<User> userList = userMapper.getUserList((pageNum - 1) * pageSize, pageSize); PageInfo<User> pageInfo = new PageInfo<>(userList); int totalCount = userMapper.getUserCount(); pageInfo.setTotal(totalCount); return pageInfo; } } ``` 最后,创建Controller类`UserController`,处理前端请求并返回分页数据: ```java @Controller public class UserController { @Autowired private UserService userService; @RequestMapping("/user/list") @ResponseBody public TableResult<User> getUserList(@RequestParam(value = "page", defaultValue = "1") Integer pageNum, @RequestParam(value = "limit", defaultValue = "10") Integer pageSize) { PageInfo<User> pageInfo = userService.getUserList(pageNum, pageSize); TableResult<User> result = new TableResult<>(); result.setCode(0); result.setMsg(""); result.setCount(pageInfo.getTotal()); result.setData(pageInfo.getList()); return result; } } ``` 其中,`TableResult`是一个通用的分页返回结果类: ```java public class TableResult<T> { private Integer code; private String msg; private Long count; private List<T> data; //省略getter/setter方法 } ``` 最后,在前端页面中引入layui分页组件: ```html <table id="userTable" lay-filter="userTable"></table> <script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a> </script> <script> layui.use(['table', 'layer'], function () { var table = layui.table; var layer = layui.layer; table.render({ elem: '#userTable', url: '/user/list', method: 'get', page: true, cols: [[ {field: 'id', title: 'ID', width: 70}, {field: 'name', title: '姓名', width: 120}, {field: 'age', title: '年龄', width: 70}, {fixed: 'right', title: '操作', toolbar: '#barDemo', width: 150} ]] }); }); </script> ``` 这样,一个基于SSM和layui分页实例就完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值