Layui在使用第三方组件库soulTable导出功能的时候,报了以下错误:
tableFilter.js?v=1587626204049:2498 Uncaught TypeError: Cannot read property 'cols' of undefined at Object.export (tableFilter.js?v=1587626204049:2498) at Object.export (soulTable.js?v=1587626204049:65) at project_list.js?v=1587626204049:156
很明显,table的cols未找到
问题解决:
方案一:在加载表格的时候,done函数回调时候,加入soulTable.render(this)
table.render({
elem: '#tb-project',
url: layui.setter.request_urlOnline + '/list',
headers:{
'token': layui.data('user').info.token,
'number': layui.data('user').info.number
},
width: admin.screen() > 1 ? '' : '',
height: '',
page: true,
limit: 10,
id: 'tb',
cols: [initTable],
done: function (res, curr, count) {
soulTable.render(this)
}
});
方案二:定义table,然后加载表格配置soulTable.render(myTable.config)
var myTable = table.render({
elem: '#tb-project',
url: layui.setter.request_urlOnline + '/list',
headers:{
'token': layui.data('user').info.token,
'number': layui.data('user').info.number
},
width: admin.screen() > 1 ? '' : '',
height: '',
page: true,
limit: 10,
id: 'tb-project',
cols: [initTable],
done: function (res, curr, count) {
soulTable.render(this)
}
});
//导出函数
export: function () {
soulTable.render(myTable.config)
soulTable.export('tb-project', {
filename: layui.data('user').info.name + '项目信息.xlsx' // 文件名
});
}