Layui快速入门之第十四节 分页

2023-09-18 10:21:02

目录

一:基本用法

API

渲染

属性

二:自定义主题 

三:自定义文本 

四:自定义排版

五:完整显示 


一:基本用法

          分页组件 laypage 提供了前端的分页逻辑,使得我们可以很灵活处理不同量级的数据,从而提升渲染效率


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>分页</title>
  <link rel="stylesheet" href="//res.layui.com/layui/dist/css/layui.css" media="all">
</head>
<body>
<div id="test"></div> 
<script src="//res.layui.com/layui/dist/layui.js"></script>
<script>
layui.use('laypage', function(){
  var laypage = layui.laypage;
  
  //执行一个laypage实例
  laypage.render({
    elem: 'test' //注意,这里的 test 是上面的 ID,不用加 # 号
    ,count: 100 //数据总数,从服务端得到
    ,limit: 10 //默认显示10条
  });
});
</script>

</body>
</html>

API

API描述
var laypage = layui.laypage获得 laypage 模块。
laypage.render(options)laypage 组件渲染,核心方法。

渲染

laypage.render(options);

属性

属性名描述类型默认值
elem

绑定分页容器。值可以是容器 id 或 DOM 对象。如:

  • elem: 'id' 注意:这里不能加 # 号
  • elem: document.getElementById('id')
string
DOM
-
count

数据总数。一般通过后端得到

number-
limit

每页显示的条数。

number

10

limits

每页条数的选择项。 若 layout 参数开启了 limit ,则会出现每页条数的 select 选择框

array

[10,…,50]

curr

初始化当前页码。

number

1

groups

连续出现的页码数量

number

5

prev

自定义“上一页”的内容,支持传入普通文本和 HTML

string

上一页

next

自定义“下一页”的内容,用法同上。

string

下一页

first

自定义“首页”的内容,用法同上。

string

1

last

自定义“尾页”的内容,用法同上。

string

自动获得

layout

自定义分页功能区域排版。可自由排列,可选值有:

  • count 数据总数区域
  • prev 上一页区域
  • page 分页区域
  • next 下一页区
  • limit 条目选项区域
  • refresh 页面刷新区
  • skip 快捷跳页区
array

查看默认值

theme

自定义主题。支持传入:颜色值或任意普通字符。如:

  • theme: '#c00' 直接设置当前页按钮背景色
  • theme: 'xxx' 会生成 class="layui-laypage-xxx" 的 CSS 类,以便自定义主题
string-
hash

设置 hash 名称。设置该属性后,点击分页将会自动对当前 url 追加:#{hash}={curr},从而在页面刷新时初始化当前页码。#详细用法参考示例

string-

回调函数

jump

分页跳转后的回调函数。函数返回两个参数:

  • 参数 obj : 当前分页相关的所有选项值
  • 参数 first : 是否首次渲染,一般用于初始加载的判断
 
    
  1. laypage.render({
  2. elem: 'id',
  3. count: 70, // 数据总数,从后端得到
  4. jump: function(obj, first){
  5. console.log(obj.curr); // 得到当前页,以便向服务端请求对应页的数据。
  6. console.log(obj.limit); // 得到每页显示的条数
  7. // 首次不执行
  8. if(!first){
  9. // do something
  10. }
  11. }
  12. });
<div id="demo-laypage-normal-1"></div>
<div id="demo-laypage-normal-2"></div>
<script>
layui.use(function(){
  var laypage = layui.laypage;
  // 普通用法
  laypage.render({
    elem: 'demo-laypage-normal-1',
    count: 50 // 数据总数
  });
  laypage.render({
    elem: 'demo-laypage-normal-2',
    count: 100 // 数据总数
  });
});
</script>

 

二:自定义主题 

<div id="demo-laypage-theme-1"></div>
<div id="demo-laypage-theme-2"></div>
<div id="demo-laypage-theme-3"></div>
<script>
layui.use(function(){
  var laypage = layui.laypage;
  // 自定义主题
  laypage.render({
    elem: 'demo-laypage-theme-1',
    count: 100,
    theme: '#1E9FFF'
  });
  laypage.render({
    elem: 'demo-laypage-theme-2',
    count: 100,
    theme: '#FF5722'
  });
  laypage.render({
    elem: 'demo-laypage-theme-3',
    count: 100,
    theme: '#FFB800'
  });
});
</script>

三:自定义文本 

<div id="demo-laypage-text"></div>
<script>
layui.use(function(){
  var laypage = layui.laypage;
  // 自定义文本
  laypage.render({
    elem: 'demo-laypage-text',
    count: 100,
    first: '首页',
    last: '尾页',
    prev: '<em>←</em>',
    next: '<em>→</em>'
  });
});
</script>

四:自定义排版

<div id="demo-laypage-layout-1"></div>
<div id="demo-laypage-layout-2"></div>
<div id="demo-laypage-layout-3"></div>
<script>
layui.use(function(){
  var laypage = layui.laypage;
  // 自定义排版
  laypage.render({
    elem: 'demo-laypage-layout-1',
    count: 1000,
    layout: ['limit', 'prev', 'page', 'next']
  });
  laypage.render({
    elem: 'demo-laypage-layout-2',
    count: 1000,
    layout: ['prev', 'next', 'page']
  });
  laypage.render({
    elem: 'demo-laypage-layout-3',
    count: 1000,
    layout: ['page', 'count']
  });
});
</script>

五:完整显示 

<div id="demo-laypage-all"></div>
<script>
layui.use(function(){
  var laypage = layui.laypage;
  // 完整显示
  laypage.render({
    elem: 'demo-laypage-all', // 元素 id
    count: 100, // 数据总数
    layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'], // 功能布局
    jump: function(obj){
      console.log(obj);
    }
  });
});
</script>

 

更多推荐

Http和Https

Http和Https1.URI和URLURI(UniformResourceIdentifier):统一资源标识符,标识资源,可以是相对路径也可以绝对路径表示。绝对路径:http://www.example.com/images/logo.png相对路径:/image/logo.pngURL(UniformResour

Java8实战-总结28

Java8实战-总结28用流收集数据收集器接口理解Collector接口声明的方法全部融合到一起用流收集数据收集器接口Collector接口包含了一系列方法,为实现具体的归约操作(即收集器)提供了范本。Collector接口中实现了许多收集器,例如toList或groupingBy。这也意味着,可以为Collector

MongoDB

1.安装dockerrun--restart=always-d--namemongo-v/home/206/mongodb/data:/data/db-p27017:27017mongo:4.0.62.建立数据库3.MongoDB使用基于SpringBoot使用3.1引用依赖包<!--SpringDataMongoDB

数据湖是什么?数据湖架构及应用(完)

数据湖架构数据湖架构主要描述了各组件以及组件之间的关系,说明了数据的存储、处理和访问过程。数据湖架构研究最初主要涉及到数据的划分、管理和使用方式,随着研究的进展数据湖的架构包含了更深层次的关键技术和方案。分区架构在初始的数据湖设计中,数据预处理扮演着极为关键的角色,其中最核心的架构为池架构与分区架构。池架构将数据根据不

【计算机网络】 TCP流量控制——滑动窗口和累积应答

文章目录累积应答TCP流量控制——滑动窗口累积应答我们前面所说的是我们每发送一个包对端就要回一个ack,那么这样效率太慢了,我们这里就有一个累积应答的机制,就是说我们客户端累积发送多个包,然后服务端再统一进行回复。TCP流量控制——滑动窗口那么我们累积应答时具体发送多少数据之后统一回复一个ack是由什么决定的呢,就是由

kubernetes

k8s是什么1以容器为中心的应用编排平台2.面向平台的平台:强大的扩展能力:构建其它的平台3、容器编排容器生命周期管理容器创建、运行、监控、终止为容器运行提供支撑:存储卷:卷编排网络:网络编排容器关系管理超亲密关系:运行一个整体,Kubernetes抽象出来的新概念Pod非超亲密关系:各自独立运行通过Service互相

肖sir_环境搭建之面试题(答案供参考)_003

课堂巩固练习(可以百度,查询)1、请简述dym的搭建、用到了哪些工具和流程介绍服务器系统:centos6;工具:jdk,MySQL,tomcat;流程:创建数据库,导入数据表–>安装jdk,解压tomcat–>将war代码包放到tomcat中解压—>进入解压的包里配置数据库连接—>进入浏览器打开前端及管理端参考:简化流

Linux系统100条命令:关于Ubuntu和 CentOS 7 相同功能的不同的终端操作命令

安装软件包:Ubuntu:apt-getinstallpackage_nameCentOS7:yuminstallpackage_name更新软件包列表:Ubuntu:apt-getupdateCentOS7:yumupdate卸载软件包:Ubuntu:apt-getremovepackage_nameCentOS7:

Vue学习笔记

本博客记录Vuev2.7.8的学习,参考文档目录Vue概述入门案例Vue指令v-bind和v-modelv-onv-if和v-showv-for综合案例生命周期Vue概述一个完整的html页面包括了视图和数据,数据是通过请求从后台获取的,那么意味着我们需要将后台获取到的数据呈现到页面上,很明显,这就需要我们使用DOM操

机器学习的基本代码

步骤1:导入必要的库```pythonimportpandasaspdfromsklearn.feature_extraction.textimportCountVectorizerfromsklearn.naive_bayesimportMultinomialNBfromsklearn.metricsimportac

易基因直播预告|细菌微生物基因表达调控表观研究易基因科技

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。DNA甲基化是在半个多世纪前在细菌中发现的。DNA碱基可以作为一个表观遗传调节因子——也就是说,它可以赋予相同的基因序列不同的和可逆的调控状态。在真核生物中,表观遗传调控可以发生在多个水平上:DNA甲基化、核小体定位、组蛋白变异和组蛋白修饰。相比之下,细菌缺

热文推荐