layui laypage组件常见用法总结

1. 简介

layui是一款非常优秀的前端开发框架,拥有很多实用的组件和API,其中laypage组件是比较实用的分页组件。本文将介绍layui laypage组件的常见用法。

2. 基本使用

laypage组件的基本使用非常简单,只需要引入相关的CSS和JS文件,然后按照指定的结构创建分页组件即可。以下是一个基本示例:

<div id="demo"></div>

<script src="layui.js"></script>

<script>

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

var laypage = layui.laypage;

//执行一个laypage实例

laypage.render({

elem: 'demo', //注意,这里的 test1 是 ID,不用加 # 号

count: 50, //数据总数,从服务端得到

limit:10 //每页显示条数

});

});

</script>

2.1 laypage.render() 方法的参数说明:

elem:指定laypage渲染的容器,可以是容器的id或class

count:数据总数,从服务端获取

limit:每页显示条数,默认为10

groups:连续显示分页数,默认为5

curr:当前页码值,默认为1

prev:分页左侧显示的文字,默认为“上一页”

next:分页右侧显示的文字,默认为“下一页”

first:分页最左侧显示的文字,默认为第一页

last:分页最右侧显示的文字,默认为最后一页

layout:指定分页组件的布局,默认值为'prev,page,next,limit,skip',可选值为'prev,first,page,last,next,limit,skip'

theme:分页组件的主题风格,可选值有:#0077FF, #1E9FFF, #FF5722, #5FB878, #FFB800, #01AAED, #999, #393D49, #c9c9c9(默认为#0077FF)

jump:触发分页后的回调函数,参数包括当前分页信息和分页元素,详见后面的示例代码

2.2 默认分页组件的样式

laypage组件自带了默认的分页样式,使用者只需要在页面中添加一个id为demo的div容器,并引入layui.css和layui.js即可,代码如下:

<!-- laypage默认分页组件样式 -->

<link rel="stylesheet" href="layui.css">

<!-- 引入laypage组件的js文件 -->

<script src="layui.js"></script>

<!-- 在页面中添加一个id为demo的div元素 -->

<div id="demo"></div>

<!-- 初始化分页组件 -->

<script>

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

var laypage = layui.laypage;

laypage.render({

elem: 'demo',

count: 50

});

});

</script>

2.3 自定义分页组件的样式

如果使用laypage自带的分页组件样式不能满足您的需求,您可以自定义分页组件的样式。以下示例代码演示如何自定义分页组件的样式:

<!-- 引入laypage组件的js文件 -->

<script src="layui.js"></script>

<!-- 自定义分页组件样式 -->

<style>

.my-page .layui-laypage-prev {

margin-right: 5px;

}

.my-page .layui-laypage-next {

margin-left: 5px;

}

.my-page .layui-laypage-prev, .my-page .layui-laypage-next {

color: #aaa;

cursor: pointer;

}

.my-page .layui-laypage-curr {

background-color: #0077FF;

border-color: #0077FF;

color: #fff;

}

.my-page .layui-laypage-spr {

margin: 0 10px;

}

.my-page .layui-laypage-skip input {

height: 28px;

width: 30px;

color: #666;

text-align: center;

border: 1px solid #e2e2e2;

outline: none;

}

.my-page .layui-laypage-skip input::-webkit-input-placeholder {

color: #999;

}

.my-page .layui-box {

display: inline-block;

}

.my-page .layui-laypage .layui-box {

margin-right: 10px;

}

.my-page .layui-laypage .layui-laypage-curr .layui-laypage-em {

background-color: #0077FF;

border-color: #0077FF;

}

.my-page .layui-laypage .layui-laypage-next:hover, .my-page .layui-laypage .layui-laypage-prev:hover {

color: #0077FF;

}

</style>

<!-- 创建一个自定义样式的分页组件 -->

<div id="demo2" class="my-page"></div>

<!-- 初始化分页组件 -->

<script>

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

var laypage = layui.laypage;

laypage.render({

elem: 'demo2',

count: 50,

theme: '#393D49', //指定分页组件的主题风格

layout: ['page', 'limit', 'count', 'prev', 'next', 'skip'], //改变分页组件的布局

limit: 10, //每页显示条数

jump: function(obj,first){

//obj包含了当前分页的所有参数,比如:obj.curr代表当前页码,obj.limit代表每页显示的条数

//first为true时,表示首次渲染

if(!first){

//do something

}

}

});

});

</script>

3. 数据绑定

laypage组件支持数据绑定功能,使用者可以在分页控件中绑定和显示自定义的数据。以下是一个实现数据绑定的示例:

<!-- 引入laypage组件的js文件 -->

<script src="layui.js"></script>

<!-- 创建一个用于显示绑定数据的容器 -->

<div id="demo3"></div>

<!-- 初始化分页组件 -->

<script>

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

var laypage = layui.laypage;

//模拟从服务器端获取数据

var data = [

{"username":"user1","age":18},

{"username":"user2","age":19},

{"username":"user3","age":20},

{"username":"user4","age":21},

{"username":"user5","age":22},

{"username":"user6","age":23},

{"username":"user7","age":24},

{"username":"user8","age":25},

{"username":"user9","age":26},

{"username":"user10","age":27},

{"username":"user11","age":28},

{"username":"user12","age":29},

{"username":"user13","age":30},

{"username":"user14","age":31},

{"username":"user15","age":32},

{"username":"user16","age":33},

{"username":"user17","age":34},

{"username":"user18","age":35},

{"username":"user19","age":36},

{"username":"user20","age":37},

{"username":"user21","age":38},

{"username":"user22","age":39},

{"username":"user23","age":40},

{"username":"user24","age":41},

{"username":"user25","age":42},

{"username":"user26","age":43},

{"username":"user27","age":44},

{"username":"user28","age":45},

{"username":"user29","age":46},

{"username":"user30","age":47}

];

//将数据绑定到HTML中

function bindData(curr,limit){

var html = '';

for(var i=(curr-1)*limit;i<Math.min(curr*limit,data.length);i++){

html += '<div>' + data[i].username + ' ' + data[i].age + '</div>';

}

$('#demo3').html(html);

}

laypage.render({

elem: 'demo3',

count: data.length, //数据总数,从服务端得到

limit:3, //每页显示条数

jump: function(obj,first){

//obj包含了当前分页的所有参数,比如:obj.curr代表当前页码,obj.limit代表每页显示的条数

//first为true时,表示首次渲染

if(!first){

//绑定数据

bindData(obj.curr,obj.limit);

}else{

//首次初始化

bindData(1,3);

}

}

});

});

</script>

4. 总结

以上就是layui laypage组件的常见用法总结。通过本文的介绍,相信大家已经了解了如何使用laypage组件进行分页控件的开发,并掌握了其常见用法。在使用过程中如果遇到问题,可以参考官方文档或在社群中寻求帮助。