获取 layui table 列宽
时间: 2023-10-23 16:09:59 浏览: 80
你可以通过 layui 的 table 模块提供的方法 `getOption` 获取表格的配置信息,然后从中获取每一列的宽度。具体代码如下:
```javascript
// 获取表格配置信息
var tableConfig = layui.table.config;
// 获取列信息
var cols = tableConfig.cols[0];
// 遍历列信息获取每一列的宽度
cols.forEach(function(col){
console.log(col.width); // 打印列宽
});
```
其中,`cols` 是一个数组,每个元素代表一列的配置信息,包括列的宽度、类型、标题等。你可以根据需要修改遍历的 `cols` 数组下标来获取不同表格的列宽。
相关问题
动态获取 layui table 列宽
可以通过遍历表格列的 DOM 元素获取每列的宽度,然后将它们存储在一个数组中。以下是一个示例代码:
```javascript
var colWidths = []; // 存储列宽的数组
layui.use('table', function(){
var table = layui.table;
table.render({
// ... 表格的配置项 ...
done: function(res, curr, count) {
// 表格渲染完成后执行的回调函数
var $table = $('.layui-table-box .layui-table-header table');
$table.find('colgroup col').each(function(index) {
colWidths[index] = $(this).width(); // 存储每列的宽度
});
}
});
});
```
在上述代码中,我们使用 `done` 回调函数来获取表格渲染完成后的 DOM 元素,然后遍历每列的 `col` 元素,获取它们的宽度并存储在数组中。这样,我们就可以动态获取 layui table 的列宽了。
layui table 动态分配宽度 怎么获取
如果要动态分配Layui表格的列宽,可以通过以下步骤获取列宽:
1. 获取表格实例
```
var table = layui.table;
```
2. 监听表格渲染完成的事件,并在事件回调函数中获取列宽
```
table.on('renderComplete(test)', function (res) {
var cols = res.cols[0];
var widthArr = [];
for (var i = 0; i < cols.length; i++) {
widthArr.push(cols[i].width);
}
console.log('列宽数组:', widthArr);
});
```
其中,`test` 是表格的 lay-filter 属性值,在监听事件时需要将其替换成实际的值。
3. 在表格的 cols 属性中设置宽度为 null 或者不设置宽度,让表格自动根据列内容计算宽度。
```
cols: [
{field: 'id', title: 'ID', width: null},
{field: 'username', title: '用户名', width: null},
{field: 'email', title: '邮箱', width: null},
{field: 'sex', title: '性别', width: null},
{field: 'city', title: '城市', width: null},
{field: 'sign', title: '签名', width: null},
{field: 'experience', title: '积分', width: null},
{field: 'score', title: '评分', width: null},
{field: 'classify', title: '职业', width: null},
{field: 'wealth', title: '财富', width: null}
]
```
阅读全文