问题:layui-table渲染带回车的返回数据并且多行显示?
layui表格本身是不支持表格里面的数据显示多行的。因为里面内置的css属性决定的。
.layui-table-cell {
height: 28px;
line-height: 28px;
padding: 0 15px;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
}
所以我们需要把这个样式的行高设置成 auto 或者 inherit,即:
.layui-table-cell {
height: auto;
}
但是这样之后,每个cell的高度自适应,就会导致整个表格的样式错乱,不对齐。所以我们需要在表格渲染后的done事件里进行高度统一处理。
//在table.render中..
done: function(res, curr, count){
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
并且数据返回的Json数据进行处理。思路就是将返回的\n替换成<br>标记,这样数据表格里的数据就能换行了。
var list= JSON.stringify(res).replace(/\\n/g, "\<br\>");
list = JSON.parse(list);
myTable(list); //这个方法就是渲染表格的方法。