Layui表格单元格内如何渲染图标组件

云宇酱_6970

云宇酱_6970

2026-03-22

667人浏览

原创

在 Layui table 的 templet 中插入图标,直接写  即可,需确保 CSS 加载、类名正确、Unicode 用 ... 实体格式;推荐用函数动态返回图标字符串,事件绑定应使用委托方式。

layui table 的 templet 里怎么插入图标组件

直接在 templet 字符串或函数返回值中写 <i class="layui-icon"></i> 就行,但得注意图标的 html 是纯静态的,不会自动初始化 layui 的图标字体渲染逻辑——而实际上根本不需要“初始化”,layui 图标本质就是 css 类 + unicode 字符,只要样式加载了,写对类名和字符就显示。

常见错误是照着文档抄 layui.use('icon') 或试图用 layui.icon()(这函数根本不存在),白折腾;还有人写成 <icon type="edit"></icon>,这是 Element 或 Ant Design 的写法,Layui 不认。

  • templet 返回字符串时,确保包含完整的 <i class="layui-icon"></i> 结构,比如 '<i class="layui-icon"></i>'
  • Unicode 字符要用 ... 实体写法(不能直接粘贴图标字符,容易编码错乱)
  • 如果表格启用了 skin: 'row' 或自定义 CSS,检查是否意外覆盖了 .layui-icon 的 font-family 或 color

用 templet 函数动态控制图标显隐和类型

比写死字符串更常用的是用函数判断条件,返回不同图标。比如状态列根据 data.status 显示对勾或叉号,这时候别拼接字符串,用模板字面量更安全。

容易踩的坑是把 JS 逻辑写太重:比如在 templet 里发请求查图标配置、或调用未定义的工具函数,这会导致表格渲染卡顿甚至报错;templet 函数必须同步、轻量、无副作用。

  • 推荐写法:templet: function(d) { return d.status === 1 ? '<i class="layui-icon"></i>' : '<i class="layui-icon"></i>'; }
  • 避免在函数里访问 layui.$ 或操作 DOM,表格重绘时会反复执行,性能敏感
  • 图标 Unicode 可查官网图标库页,或直接打开 layui.css 搜 layui-icon- 找对应码位

图标点击事件绑定不到?因为 templet 渲染后没事件委托

在 templet 里写的 <i></i> 标签默认没 click 行为,你加 onclick="xxx()" 看似能用,但不推荐:全局函数污染、无法访问 d 数据、不好维护。

正确做法是用事件委托,监听表格容器的 click,再用属性选择器区分图标。Layui 表格本身不提供图标级事件钩子,得自己补。

  • 给图标加唯一标识,比如 <i class="layui-icon btn-edit" data-id="' + d.id + '"></i>
  • 在 table.render() 后,用 layui.$('#your-table-id').on('click', '.btn-edit', function(){...})
  • 别用 document.querySelector 直接绑,表格分页/重载后事件就丢了
  • 如果用了 done 回调,在里面重新绑定也行,但委托到父容器更省事

为什么图标显示为空心方块或小方框

基本就是字体没加载成功或类名写错。Layui 图标依赖 layui-icon 这个类触发字体渲染,漏掉它或拼错(比如写成 lay-icon)就会 fallback 到系统默认字体,显示乱码方块。

另一个隐蔽原因是页面引入了多个版本的 layui.css,旧版图标码位和新版不一致,比如 在 2.8.17 是“添加”,在 2.9.0 可能被挪走——查你当前用的 Layui 版本对应的图标页最准。

  • 打开浏览器开发者工具,选中图标元素,看 computed 样式里 font-family 是否为 "layui-icon"
  • 检查网络面板,确认 layui.css 加载成功且状态码是 200,不是 404 或 MIME 错误
  • 用 layui.cache.version 查当前版本,然后去官网对应版本文档页复制图标码位

图标这事看着小,但跨项目复制代码时,CSS 路径、版本、字符实体写法、事件绑定方式,四个点错一个就白忙活半天。

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

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

下载

相关标签:

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

相关专题

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

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

2023.08.11

2343

5

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

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

2023.10.09

5063

6

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

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

2024.03.19

6150

13

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

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

2024.03.22

5678

10

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

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

2024.05.22

803

5

阿里icon
阿里icon

php中文网为大家提供阿里icon教程,阿里icon是指“Iconfont”,是由阿里巴巴矢量图标库提供的一种图标字体,包含了大量的中英文图标和符号。php中文网还为大家带来阿里icon的相关下载资源、相关文章等内容,供大家免费下载使用。

2023.06.15

1174

3

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

40

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

140

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

140

14

热门下载

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

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习