Layui 框架说明

一、参考文档:

https://www.layui.com/doc/

https://www.kancloud.cn/sansui/easyweb/2141288

二、参考例子:

https://www.layui.com/demo/

https://demo.easyweb.vip/iframe/

三、公用方法

1、loading
$("body").mLoading();//显示
$("body").mLoading("hide");//隐藏
2、信息提示
notify.success("成功");
notify.warning("警告");
notify.info("提示");
notify.error("错误");

_type:success\info\error\warning

3、通过父窗口刷新table
callbackReloadTable(layid);
  • 不带参数刷新当前tab中iframe表格
  • 带参数刷新指定src=layid的iframe表格,layid在iframe中得到layid=top.$(“div.layui-tab-content .layui-show iframe”).attr(“src”);
function callbackReloadTable(layid){
	try {
		if(layid){//layid存在时调用指定iframe
			$("div.layui-tab-content iframe[src='"+layid+"']")[0].contentWindow.reloadTable();
        }else{//layid不存在时调用当前窗口iframe
            $("div.layui-tab-content .layui-show  iframe")[0].contentWindow.reloadTable();
        }
    }catch (e) {
       	console.log("刷新表格失败!!");
    }

}

iframe中reloadTable方法:

function reloadTable(){
    layui.table.reload('dataTable');//dataTable为表格ID
}

用于top.layer.open打开窗口时,调用top.callbackReloadTable()方法刷新iframe中的table,其它模块刷新,调用模块自己刷新即可,不需要使用这个

4、刷新当前tab中iframe
top.$("div.layui-tab-content .layui-show  iframe")[0].contentWindow.location.reload(true);
5、展开tree第一层节点
callback: {
    onAsyncSuccess: zTreeOnAsyncSuccess//异步加载正常结束的事件回调函数
}
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
    //初始化时
    var treeObj = $.fn.zTree.getZTreeObj(treeId);
    var nodes = treeObj.getNodes();
    if (nodes.length > 0) {

        for (var i = 0; i < nodes.length; i++) {
            treeObj.expandNode(nodes[i], true, false, false);//默认展开第一级节点
        }

    }

}
5、刷新树节点
    /**
     * 刷新当前树节点,有传值时刷新传入值节点
     */
 	function refreshNode(nodeId) {
        /*根据 treeId 获取 zTree 对象*/
        var zTree = $.fn.zTree.getZTreeObj("documentLeftTree"),
            type = "refresh",
            silent = false,
            /*获取 zTree 当前被选中的节点数据集合*/
            nodes = zTree.getSelectedNodes();
        if(nodeId!==undefined) {
            nodes[0] = treeObj.getNodeByParam("id", nodeId);
        }
        /*强行异步加载父节点的子节点。[setting.async.enable = true 时有效]*/
        zTree.reAsyncChildNodes(nodes[0], type, silent);
    }

    /**
     * 刷新当前节点的父节点,有传值时刷新传值的父节点
     */
    function refreshParentNode(nodeId) {
        var zTree = $.fn.zTree.getZTreeObj("documentLeftTree"),
            type = "refresh",
            silent = false,
            nodes = zTree.getSelectedNodes();
        if(nodeId!==undefined) {
            nodes[0] = treeObj.getNodeByParam("id", nodeId);
        }
        /*根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象*/
        var parentNode = zTree.getNodeByTId(nodes[0].parentTId);

        //zTree.selectNode(parentNode);//选中指定节点
        zTree.reAsyncChildNodes(parentNode, type, silent);

    }

调用方法:top.refreshNode()\top.refreshParentNode()

五、layui监听方法

先在要监听的对象属性中加上lay-filter=“XXX”

1、表格行监听
table.on('row(XXX)', function(obj){ //XXX为表格lay-filter属性值
    var data = obj.data;
    
    layer.alert(JSON.stringify(data), {
        title: '当前行数据:'
    });
    //标注选中样式
    obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
});
2、表格中获取选中行方法
var data = layui.table.checkStatus('tableId').data; //tableId为表格id值
console.log(JSON.stringify(data));
3、表格中复选框点击监听方法
table.on('checkbox(XXX)', function(obj){ //XXX为表格lay-filter属性值
  console.log(obj); //当前行的一些常用操作集合
  console.log(obj.checked); //当前是否选中状态
  console.log(obj.data); //选中行的相关数据
  console.log(obj.type); //如果触发的是全选,则为:all,如果触发的是单选,则为:one
});
4、表格中单选钮监听方法
table.on('radio(XXX)', function(obj){ //XXX为表格lay-filter属性值
  console.log(obj); //当前行的一些常用操作集合
  console.log(obj.checked); //当前是否选中状态
  console.log(obj.data); //选中行的相关数据
});
5、下拉列表select监听
form.on('select(XXX)', function(data){ //XXX为select的lay-filter属性值
	layui.layer.msg(data.value);//得到被选中的值
	layui.layer.msg(data.elem); //得到select原始DOM对象
 })
6、表单中复选框checkbox监听
form.on('checkbox(XXX)',function(data){ //XXX为checkbox的lay-filter属性值
	//console.log(data.elem) //得到checkbox原始DOM对象
	//console.log(data.elem.checked) //是否选中,true或false
	//console.log(data.vale) //复选框的值,也可以通过data.elem.value得到
	//console.log(data.othis) //得到美化后的DOM对象
})
7、表单中单选框radio监听方法
form.on('radio(XXX)', function (data) { //XXX为radio的lay-filter属性值
  console.log( data );  //打印当前选择的信息
    if( data.elem.checked){      //判断当前多选框是选中还是取消选中
        alert('当前选中');
    }else{
     alert('取消选中') 
   }
  var value = data.value;   //  当前选中的value值
});

六、字体图标

确定 <i class="layui-icon layui-icon-ok"></i>
取消/关闭<i class="layui-icon layui-icon-close"></i>
选择/打开 <i class="cms-icon cms-icon-open"></i>
保存 <i class="cms-icon cms-icon-save"></i>

上传<i class="layui-icon layui-icon-upload-drag"></i>
开始上传<i class="layui-icon layui-icon-upload-circle"></i>
下载<i class="layui-icon layui-icon-download-circle"></i>

刷新<i class="layui-icon layui-icon-refresh-1"></i>
新建<i class="cms-icon cms-icon-cms-icon-new"></i>
删除/回收站<i class="layui-icon layui-icon-delete"></i>
彻底删除/清空<i class="cms-icon cms-icon-clear"></i>
修改/编辑<i class="cms-icon cms-icon-edit"></i>
查询/搜索<i class="layui-icon layui-icon-search"></i>

移动<i class="cms-icon cms-icon-move"></i>
相同/类似创建<i class="cms-icon cms-icon-same"></i>
发布设置<i class="cms-icon cms-icon-pubset"></i>
排序<i class="cms-icon cms-icon-order"></i>

导出<i class="layui-icon layui-icon-export"></i>
导入<i class="cms-icon cms-icon-imp"></i>
授权<i class="layui-icon layui-icon-auz"></i>
角色<i class="cms-icon cms-icon-role"></i>
创建角色<i class="cms-icon cms-icon-addrole"></i>
添加组长<i class="cms-icon cms-icon-addleader"></i>
删除组长<i class="cms-icon cms-icon-delleader"></i>
组长<i class="cms-icon cms-icon-groupleader"></i>

添加用户<i class="cms-icon cms-icon-adduser"></i>
删除用户<i class="cms-icon cms-icon-deluser"></i>
开通用户<i class="cms-icon cms-icon-openuser"></i>

新建菜单<i class="cms-icon cms-icon-addmenu"></i>
修改菜单<i class="cms-icon cms-icon-editmenu"></i>
删除菜单<i class="cms-icon cms-icon-delmenu"></i>
新建模块<i class="cms-icon cms-icon-addmodule"></i>

新建配置<i class="cms-icon cms-icon-addconfig"></i>
修改配置<i class="cms-icon cms-icon-editconfig"></i>
新建配置模版<i class="cms-icon cms-icon-configtem"></i>

添加到组织<i class="cms-icon cms-icon-addgroups"></i>
添加到角色<i class="cms-icon cms-icon-addroles"></i>

模版<i class="layui-icon layui-icon-template"></i>

生成应用<i class="cms-icon cms-icon-createapp"></i>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui 中,分页功能是通过 `laypage` 模块实现的,具体实现步骤如下: 1. 引入 layui 的 `laypage` 模块: ```html <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css"> <script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script> ``` 2. 定义一个容器,用来显示分页控件: ```html <div id="page"></div> ``` 3. 初始化分页控件: ```javascript layui.use(['laypage'], function() { var laypage = layui.laypage; laypage.render({ elem: 'page', // 容器id count: 100, // 数据总数 limit: 10, // 每页显示的数据条数 curr: 1, // 当前页码 jump: function(obj, first) { // obj包含了当前分页的所有参数,比如:obj.curr表示当前页码,obj.limit表示每页显示的数据条数 // first为true表示首次加载分页控件,false表示非首次加载 // 在这里可以根据分页参数,发送请求获取对应的数据,然后将数据渲染到页面上 } }); }); ``` 其中,`laypage.render()` 方法的参数说明如下: - `elem`:容器id,即要显示分页控件的DOM元素的id; - `count`:数据总数,即需要分页的数据总条数; - `limit`:每页显示的数据条数; - `curr`:当前页码; - `jump`:回调函数,每次分页切换时都会执行该函数,用来获取对应的数据并渲染到页面上。 需要注意的是,在 `jump` 回调函数中,可以通过发送Ajax请求获取对应的数据,然后将数据渲染到页面上。同时,`laypage.render()` 方法会自动根据分页参数渲染出分页控件,无需手动处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值