LayUI的基本使用 - Tab选项卡切换显示对应数据

要求:实现tab选项卡改变的同时展示数据也跟着改变
实现条件:
1、 选项卡 【官网 – 文档/示例 – 页面元素 – 选项卡】
2、数据表格 【官网 – 文档/示例 – 内置模块 – 数据表格】
3、分页 【官网 – 文档/示例 – 内置模块 – 分页】

具体实现过程:
1、 先找选项卡、使用默认的tab、然后查看代码、复制对应的代码。

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDMxMjUyOC0xNTU3MTY3ODU0LnBuZw==.jpg

2、 然后改成自己想要显示效果、如下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDMzMTEyOS0xMzA5MTIxNjMzLnBuZw==.jpg

3、 然后查看具体的代码如下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDM1MzQ1Ni0yMTE0NTM2MzQ2LnBuZw==.jpg

4、 获取Tab选项卡的状态值
 
 
  1. 到目前为止、实现了点击对应的Tab选项卡、展示对应的内容。但是、我现在要展示的订单的状态对应的数据、应拿到对应的每一个Tab选项卡的状态值、然后将内容展示在对应的位置。那如何获取每一个选项课的状态值呢?
4.1 先给每一个Tab选项卡一个自定义属性、用来存放状态值。具体代码如下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDU0MjAxOS0xNDY3OTA4NTg5LnBuZw==.jpg

4.2 获取对应的值。在官网手册文档上、我们可以找到监听Tab切换事件

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDYxMzYwMC0xNTU1MDI1MDMucG5n.jpg

4.3 获取状态
 
 
  1. 然后直接copy代码到我们自己的目录下、然后运行、会发现没有效果。那如何解决呢?仔细看代码、会发现监听的是tab(filter)、那么我们需要给一个lay-filter。那这个filter给谁呢?还是回到手册、往上看、会发现事件监听中有一个默认情况下、那我们和它一样、直接粘在classlayui-tabdiv上即可、将filter换成我们自己的名字。到这一步、运行发现Tab选项卡切换的时候、可以获取到对应的DOM元素、索引、容器等,那我们如何获取对应的状态码呢?很简单、和jQuery中的写法一致、直接通过attr获取即可、具体如下:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDYzNTk0Ni0yMDUyNzcyNTgucG5n.jpg

5、 数据展示 (分页加载数据)
 
 
  1. 到这一步、基本工作完成了、效果也是OK。那么要实现Tab选项卡切换的时候、数据展示为我们自己的数据、同时根据选项卡状态的不同、展示不同的数据。那么该如何操作呢?其实很简答的,在每一个的div中加入数据展示表格table即可;然后再加分页的代码。
  2. 分页如何加载、请看我的另外一篇文章。地址:https://www.cnblogs.com/laowenBlog/p/11240503.html

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDcwNDY0NS0xMTM4NTg1NzAucG5n.jpg
L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDcyMTM4OC0xNTk0NTI4NzA1LnBuZw==.jpg

6、 到这一步、运行查看效果会发现默认的所有订单数据是OK了、但是切换选项卡、其他的数据确没有显示。具体如下图:

L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDc0NTk0Ny0xNDAzNjUzMjE4LnBuZw==.jpg
L3Byb3h5L2h0dHBzL2ltZzIwMTguY25ibG9ncy5jb20vYmxvZy85MDI3NzIvMjAxOTA3LzkwMjc3Mi0yMDE5MDcyNjIwNDgwODU3Ny0xNjcxMDg4OTk4LnBuZw==.jpg

7、 解决显示对应数据
 
 
  1. 那么这没有数据又该如何解决呢?很简单、会发现在table.rander加载的时候、只是将数据展示在全部订单中了、(通过代码elem: '#order_all'来体现)、那如何展示在应该展示的位置上呢?会发现我们已经在每一个table上给增加了id属性、只要修改elem参数的值即可。那该如何解决这个问题呢?怎么让它成动态的呢?很简单、只需将table.rander写在一个方法中、每一次切换选项卡的时候调用即可。
8、 最终实现效果如下:

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值