100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > layui table数据表格中数据返回成功 但页面不显示数据内容问题

layui table数据表格中数据返回成功 但页面不显示数据内容问题

时间:2023-09-13 20:23:20

相关推荐

layui table数据表格中数据返回成功 但页面不显示数据内容问题

layui table数据表格中数据返回成功,但页面不显示数据内容问题。

这是我做毕业设计的时候自己遇到的问题,后来查看了网上的一些技术贴子而得到解决,所以便想总结一个大概的方法,供大家参考!

一般导致这个问题的原因是 自己设置的返回的数据格式与layui表格中的以及固定设置好的数据格式不符合,导致无法正确显示数据于页面。

需要特别注意的是,layui中数据表格table正确的数据返回前端的成功状态码 (code)必须为:0。

1)layui table数据表格对传过来的Json数据有严格的要求,一般情况下,要求要有4个参数,如下所示:

code:0 //数据状态

msg:"" //状态信息

count:1000 //数据总数

data:[] //数据列表

2)若传过来的Json数据包含这四个参数,且参数名一样,则表格读数据和显示数据不会出问题。若参数名和上述的不一样,则需要转换下,具体方法如下:

在 table.render({}) 内添加以下代码:

response:{

statusName: '自定义的参数名称' ,// 对应 code

msgName: '自定义的参数名称' , // 对应 msg

countName: '自定义的参数名称' , // 对应 count

dataName: '自定义的参数名称' // 对应 data

}

3)html文件里的代码如下:

注意:‘field’字段里的属性名是必须与后台数据库表格里的名称一致!因为mapper里的字段也是与后台数据库表格属性名一致。

<table class="layui-table" lay-data="{height: 'full-200', cellMinWidth: 100, page: true}" lay-filter="EditListTable" id="tableDemo"><thead ><tr><th lay-data="{field:'id',width:150, align:'center' }">自定义名称</th><th lay-data="{field:'name', width:100, align:'center',edit:'text'}">自定义名称</th><th lay-data="{fixed:'right', width:230, align:'center', toolbar: '#barDemo'}">自定义名称</th></tr></thead></table>

4)完整的layui数据表格处理的前端js代码贴一个

var getListUrl = '/xxx/xxxxx';//请求地址//var searchBarContent = '';var tableOptions = {elem: '#tableDemo', //table表格的id名url: getListUrl, //请求地址method: 'POST', //方式id: 'listReload', //生成 layui table 的标识 id,必须提供,用于后文刷新操作page: true, //是否分页// width: 800,// height: 300,cellMinWidth: 30, //全局定义常规单元格的最小宽度,layui 2.2.1 新增where: {//searchBarContent:''数据传送到后台}, cols: [[ ]]// // 请求后端接口的条件,该处就是条件错误点,按照官方给出的代码示例,原先写成了 where: { key : { type: "all" } },结果并不是我想的那样,如此写,key 将是后端的一个类作为参数,里面有 type 属性,如果误以为 key 是 Layui 提供的格式,那就大错特错了, response: { //定义后端 json 格式,详细参见官方文档statusName: 'code', //状态字段名称statusCode: '0', //状态字段成功值msgName: 'msg', //消息字段countName: 'count', //总数字段dataName: 'returnData' //数据字段(自己创建的数据字段的一个Bean,专门用来返回数据)}};(function () {layui.use(['table', 'layer', 'laydate', 'form'], function () { //layui 模块引用,根据需要自行修改var layer = layui.layer;var table = layui.table;var form = layui.form;//渲染数据表格table.render(tableOptions);//表初始化var createTable = function() {table.init('EditListTable', tableOptions);// table lay-filter};createTable();//表刷新方法function reloadTable(item) {table.reload("listReload", { //此处是上文提到的 初始化标识idurl:getListUrl,where:item});};//专门用于删除功能的刷新方法 function delete_reload(item) { table.reload("listReload", { //此处是上文提到的 初始化标识idurl: '删除功能的刷新方法的数据接口',where:item }); };//监听工具条table.on('tool(EditListTable)',function(obj) {var data = obj.data;//获取所在行所有键值var field = obj.field;//得到字段var value = obj.value;//得到修改后的值if (obj.event === 'del') {layer.confirm('真的删除行么', function (index) {obj.del();layer.close(index);//刷新delete_reload(item)table.render(tableOptions);*/});}//修改按钮else if(obj.event === 'edit') {}});});})();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。