layui常用方法和问题指南 | 8月更文挑战

795 阅读2分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

一、表格展示全部数据的方法:

limit: Number.MAX_VALUE // 数据表格默认全部显示

加入这个就算写page: false,也会展示所有数据

二、富文本的使用

用的是wangEditor,editor就是定义的编辑器,在layui中获取富文本内容和回显如下:

  • 获取或保存数据

    var E = window.wangEditor;
    var editor = null;
    editor.txt.html();
    
  • 回显数据富文本,和上面一样都需要定义

    editor.txt.html(res.info);
    

还有一个地方,就是如果有不需要编辑器按钮的解决办法,比如去掉富文本编辑器的插入代码功能:

代码:

editor.config.menus.splice(20,1)

这里是在vue中用到的,获取到editor后可以打印一下editor.config中的数据,里面的menus数组,删掉指定的索引即可。如果需要加功能,比如可能没有设置行高啥的编辑功能,可以在数组后面加,然后到源码里大胆的改,哈哈,之前改过。

三、layui的iframe页面跳转等

  1. 打开新标签页,就算已经存在也会创建一样的就很烦

    parent.layui.index.openTabsPage("./pages/userInfo.html?id=0&menuId=" + menuId,"用户管理");
    
  2. 关闭当前标签页

    parent.layui.admin.events.closeThisTabs();

四、展示loading

var loadingIdx = layer.load(0, {
    shade: false,
    time: 2000
});

关闭loading:

layer.close(loadingIdx);

通过定义loadingIdx来关闭指定的loading,这样开关比较明确,如果直接写,只能用layer.closeAll()来关闭所有,如果有弹框啥的就会也直接关闭了,其中shade可以设置0.3代表背景蒙层的颜色深浅

五、日期组件渲染当前时间,或者几天前的时间

laydate.render({
    elem: '#dtime', //指定元素
    value:new Date(new Date()-1000*60*60*24*0)
});

这样默认展示当天时间,value中最后一个0就是当前时间,如果是几天前就往前推,几天后就往后算,不然要是再用date对象获取一遍放进去太麻烦了,或者自带的也不好计算几天前或者几天后,几天前就是-10,代表十天前;几天后就用8,代表8天后的日期,不过一般用到的几天前的多要查询几天前的数据并且固定。

其实还有很多,但是先写这些,自己还自定了表格的筛选功能,下次分享吧,周末快乐!