layui table表格搜索功能怎么实现前端过滤?

云雪小哥_3772

云雪小哥_3772

2026-09-23

934人浏览

原创

layui表格前端搜索过滤应使用table.filter()而非reload(),前提是用data数组初始化、配置lay-filter与lay-search、列显式设filter:true,filter仅重绘tbody并保留页码/选中态等状态。

layui table表格搜索功能怎么实现前端过滤?

layui table 前端搜索过滤靠 filter 方法,不是重载数据

layui 的 table 模块本身不内置“输入即搜”的前端过滤逻辑,它默认只做后端分页和渲染。想实现前端搜索(即不发请求、仅对已加载的数据重新筛选),必须手动拦截搜索行为,用 table.filter 触发本地重绘,而不是调用 table.reload 去请求接口。

常见错误是:给搜索框绑定 input 事件后直接 table.reload({ where: { keyword: val } }) —— 这会触发后端请求,完全没走前端过滤。

  • 前端过滤的前提是:所有数据已一次性加载进 JS 变量(比如存在 globalData 里),而非靠 url 分页拉取
  • table.filter('your-table-id') 会强制表格根据当前 datafilter 配置重新渲染,但不会改变原始数据源
  • 必须配合 table.config.data = filteredArray 手动更新表格内部数据引用,否则 filter 不生效

搜索时怎么动态替换表格的 data 源?

layui 表格的 data 选项在初始化后就固化了,后续修改配置对象不会自动同步。要让 filter 生效,得先改 table.config.data,再调用 filter

示例逻辑:

前端美化
前端美化

使用此技能可创建独具特色、具备生产级质量的前端界面,设计品质高。当用户要求构建网页组件、页面、产物、海报或应用程序时(例如:网站、落地页、仪表盘、React 组件、HTML/CSS 布局,或对任意 Web UI 进行样式优化与视觉美化),请启用该能力。输出需为富有创意、精雕细琢的代码与 UI 设计,避免千篇一律的 AI 风格。

下载
// 假设原始数据存在全局变量 rawData 中
let rawData = [/* 你的全部数据 */];
let currentData = [...rawData]; // 当前显示的数据副本
<p>// 初始化表格时用 currentData
table.render({
elem: '#demo',
id: 'demo',
data: currentData,
cols: [[/<em> 列配置 </em>/]]
});</p><p>// 搜索框 input 事件
document.getElementById('searchInput').addEventListener('input', function() {
const keyword = this.value.trim();
if (!keyword) {
currentData = [...rawData];
} else {
currentData = rawData.filter(item => 
item.title?.includes(keyword) || item.id?.toString().includes(keyword)
);
}</p><p>// 关键两步:更新 config.data + 调用 filter
table.config['demo'].data = currentData;
table.filter('demo');
});
</p>

为什么 table.reload 不能替代前端过滤?

table.reload 设计目标是重新请求服务端或重绘,即使你传入 data 参数,它也会清空原有数据并完全替换——但这个过程会丢失表格当前页码、排序状态、选中行等上下文,且触发 done 回调两次(一次清空,一次重载),UI 会有明显闪动。

  • reload 会重置 page 为第 1 页,即使你只搜第 3 页的数据
  • 如果启用了 checkboxradioreload 后所有勾选状态丢失
  • 自定义工具栏按钮、行内操作按钮的事件绑定需手动重绑,否则失效
  • filter 仅刷新 tbody,保留分页器位置、当前页码、排序图标、已选状态

兼容性注意:layui 2.8+ 的 config 访问方式变了

旧版 layui(2.6.x)可通过 table.config['id'] 直接访问;2.8+ 开始,config 改为私有属性,推荐用 table.getOptions('id') 获取配置,但该方法返回的是只读副本。真正可写的仍是 table.config 对象(虽然文档没写,但源码里仍暴露)。

稳妥写法(兼容 2.6–2.8):

const ins = table.get('demo'); // 先拿到实例
if (ins && ins.config) {
  ins.config.data = currentData;
} else {
  // fallback:尝试 table.config
  table.config['demo'].data = currentData;
}
table.filter('demo');

别依赖 table.cache 做过滤源,它是渲染后的 DOM 映射,不含原始字段,且含分页截断数据,容易漏匹配。

前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2063

5

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

2023.10.09

4423

6

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

2024.03.19

5530

13

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

2024.03.22

4998

10

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

2024.05.22

703

5

ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2300

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

340

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

2133

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1121

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程