本文介绍如何在Layui表格中实现开关按钮效果。首先引入必要的JS和CSS文件,随后在表格列定义中使用formatter函数根据数据值生成带lay-skin=switch的复选框。最后通过layui.use加载form模块,利用form.render刷新控件,并绑定switch事件以处理状态变更逻辑。
引入Layui基础资源
首先需要在页面中引入Layui框架所需的JavaScript和CSS资源文件。
<script src="/common/plugins/layui-v2.2.5/layui.js" charset="utf-8"></script>
<link rel="stylesheet" type="text/css" href="/common/plugins/layui-v2.2.5/css/layui.css" rel="external nofollow" />
接下来构建一个列表表格,其中包含一个名为“是否有效”的字段用于展示状态。
表格列渲染配置
{title: "是否有效", field: "isValid",align:"center",formatter:function(value,row,index){
if(row.isValid == 1){
return "<div class=\"layui-form\"> <input type=\"checkbox\" value=\""+row.id+"\" name=\"isValid\" lay-filter=\"isValid\" checked lay-skin=\"switch\" lay-text=\"是|否\"></div>";
}else {
return "<div class=\"layui-form\"> <input type=\"checkbox\" value=\""+row.id+"\" name=\"isValid\" lay-filter=\"isValid\" lay-skin=\"switch\" lay-text=\"是|否\"></div>";
}
}},
必须执行特定的渲染步骤,才能使开关按钮在表格中正确显示效果。
表单渲染与事件监听
onLoadSuccess: function (data) {
layui.use('form', function(){
var form = layui.form;
form.render('checkbox');
form.on('switch(isValid)', function(data){
changState(data.value,data.elem.checked);
});
form.on('switch(isTraining)', function(data){
changState1(data.value,data.elem.checked);
});
form.on('switch(isTraining)', function(data){
changState1(data.value,data.elem.checked);
});
});
}

随后需要编写逻辑代码,以判断开关状态修改的操作是否成功执行。

以上即为在Layui中实现开关按钮效果的完整实现过程,供开发者参考使用。