layui表格列动态显示或隐藏

可以使用Layui的表格组件进行列的动态显示或隐藏。Layui的表格组件提供了一个方法table.reload(),可以重新加载表格,传入的参数可以用来设置表格的配置项。通过设置配置项cols的值,可以实现列的动态显示或隐藏。

首先,需要定义一个按钮或其他的触发事件,通过该事件来触发列的显示或隐藏操作。例如,可以在表格的表头添加一个复选框,选中复选框时,显示选中的列,取消选中复选框时,隐藏选中的列。

然后,在按钮或触发事件的回调函数中,通过获取选中的列的索引(可以使用Layui的表格方法checkStatus()),并将其保存到一个数组中。然后,可以使用table.reload()方法重新加载表格,并将cols配置项中的unresize属性设置为true,以禁用表格的列宽拖动功能,最后将保存的列索引数组传入cols配置项中的hide属性,以隐藏对应的列。

以下是一个简单的示例代码:

HTML部分:

“`html

“`

JavaScript部分:

“`javascript

layui.use([‘table’, ‘form’], function() {

var table = layui.table;

var form = layui.form;

//渲染表格

table.render({

elem: ‘#demo’,

url: ‘xxx’, //表格数据接口

cols: [[

{type: ‘checkbox’},

{field: ‘id’, title: ‘ID’},

{field: ‘username’, title: ‘用户名’},

{field: ’email’, title: ‘邮箱’},

//…

]],

//其他配置项

});

//监听复选框的选中状态

form.on(‘checkbox(test)’, function(data){

var indexs = [];

$(‘table input[type=”checkbox”]:checked’).each(function(){

indexs.push($(this).parents(‘tr’).find(‘td’).index($(this).parent()));

});

//重新加载表格并隐藏选中的列

table.reload(‘demo’, {

cols: [{

unresize: true,

hide: indexs

}]

});

});

});

“`

以上示例中,当复选框选中时,通过获取选中复选框的索引,然后使用table.reload()重新加载表格,并在cols配置项中设置需要隐藏的列的索引。最后,重新渲染表格即可实现列的动态显示或隐藏。

# 回答此问题

后才能回答