layui table表格使用table.resize 方法 重置表格尺寸
解决 使用layui中的table表格重置表格尺寸 问题
表格的高度共有两种写法 相对应的就有两种解决方法
第一种
当表格高度设置为固定高度时,改变表格高度使用
tableIns=table.render({
elem: '#box'
, url: 'index.php'
, cellMinWidth: 80 //最小宽度
, height: '500px'
, page: true //开启分页
, limit: 30 //页数
, limits: [30, 60, 90] //每页数
, method: 'post' //类型
, defaultToolbar: ['filter']
, toolbar: '#toolbarDemo'
});
使用官方API给的方法会报错,通过查看layui框架源代码,进行调试,解决了改变固定高度问题。
//设置表格的高度
tableIns.config.height=600;
tableIns.resize
第二种
当表格高度设置为full-差值时,改变表格高度使用
高度将始终铺满,无论浏览器尺寸如何。这是一个特定的语法格式,其中full是固定的,而差值则是一个数值,这需要你来预估,比如:表格容器距离浏览器顶部和底部的距离“和”
tableIns=table.render({
elem: '#box'
, url: 'index.php'
, cellMinWidth: 80 //最小宽度
, height: 'full-120'
, page: true //开启分页
, limit: 30 //页数
, limits: [30, 60, 90] //每页数
, method: 'post' //类型
, defaultToolbar: ['filter']
, toolbar: '#toolbarDemo'
});
当使用full-差值的时候,我在本页面如何写都没办法解决,我从GitHub上下载了一份源码,我直接在源码调试,看看是哪里出现了问题
查看源码发现
在table.js文件中,刚开始定义table的使用,定义thisTable方法
这里面返回resize始终都为空,但是该脚本所有的resize都走该方法返回,通过调试,发现thisTable返回的resize中的that里面不存在fullHeightGap的值,所以每次调用的时候都会报错误。
通过调试需要在返回值中把that返回回去,才可以使用fullHeightGap的值。
在自己的页面脚本调用改变fullHeightGap的值就可以改变高度了
tableIns.getthat .fullHeightGap='350';
tableIns.resize
这样就解决full-差值的问题了,但是解决这个问题需要去修改原本的代码,暂时还没找到能不修改代码就能解决的方法。
推荐大家使用第一种方式,自己写js脚本去计算高度,这样就可以实现即不改源代码也可以实现full-差值。
你可能想看: