这样可以不用layui自带的搜索方法、可以做更多的扩展,比如操作表格后的重新渲染,以及动态增减表头等等…
//表格初始化以及重载函数
var tableInit = function () {
layui.use('table', function () {
window.table = layui.table;
//展示已知数据
window.table.render({
elem: '#demo'
, cols: [window.data.title]
, data: window.data.data
, height: 710
//,skin: 'line' //表格风格
, even: true
// , page: true //是否显示分页
// , limits: [10, 20]
, limit: window.data.data.length //每页默认显示的数量
});
});
}
这里是渲染表格
ajax获取表格数据后
//页面初始化请求数据
$.get("http://XXXXXXX/api_yhb/", function (data, status) {
console.log(status)
if (status == 'success') {
layer.close(loading);
// 这里我的数据需要做下处理,就是提取出表头数组.
window.data = turnData(data)
tableInit()
} else layer.open('网络错误!')
});
搜索筛选AJAX提交后,重载表格也同样
$.ajax({
type: "POST",
url: "http://xxxxxxx/api_yhb/",
data: {data:JSON.stringify(send)},
success: function (result) {
// 在这里运行 turnData(getData)转换筛选的数据,然后动态更新表格
var data = turnData(result)
//表格数据重载
window.table.cache.demo = window.data.data
window.data = data
//表格重载
tableInit()
setTimeout(() => {
layer.close(loading);
}, 1000)
},
error: function (e) {
setTimeout(() => {
layer.close(loading);
layer.msg('错误代码:' + e.status);
}, 1000)
}
});
<table class="layui-hide" id="demo" lay-filter="demo"></table>