Laravel DataTable第2页及以后查看图标消失问题求助
问题原因及解决方法
问题出在Feather图标的初始化时机:你只在页面首次加载时调用了一次feather.replace(),而DataTable切换分页时会动态生成新的DOM元素(第二页及以后的行),这些新元素里的data-feather标签没有被Feather处理,所以图标不显示。
解决方法
利用DataTable提供的draw.dt事件,每次表格完成重绘(包括分页切换、搜索、排序等操作)时,重新调用feather.replace()来渲染新出现的图标。
修改你的JavaScript初始化代码:
$(document).ready(function() { // 初始化DataTable并保存实例 const table = $('.datatables').DataTable(); // 监听表格重绘事件,重新渲染Feather图标 table.on('draw.dt', function() { feather.replace(); }); // 首次加载时渲染图标 feather.replace(); })
补充说明
DataTable的draw.dt事件会在表格每次完成绘制(包括初始加载、分页切换、数据更新等场景)时触发,这样就能确保所有动态生成的data-feather元素都能被Feather正确解析渲染。
内容的提问来源于stack exchange,提问作者Mifta Khussolikhin
相关产品推荐
相关产品推荐

