首页/技术代码/ layui快速学习了解

layui快速学习了解

作者:神奇   分类:技术代码   时间:2020-03-21 19:16:15  标签:


^(* ̄(oo) ̄)^:https://9499574.github.io/layui-form-create/

第一章

toolbar开启表格头部工具栏区域,该参数支持四种类型值:
https://www.layui.com/doc/modules/table.html#cols
//方法渲染:
table.render({
  cols:  [[ //标题栏
    {checkbox: true}
    ,{field: 'id', title: 'ID', width: 80}
    ,{field: 'username', title: '用户名', width: 120}
  ]]
});


下述是templet对应的模板,它可以存放在页面的任意位置。模板遵循于 laytpl 语法,可读取到返回的所有数据
<a href="/detail/{{d.id}}" class="layui-table-link">{{d.title}}</a>

,templet: function(d){
        return 'ID:'+ d.id +',标题:<span style="color: #c00;">'+ d.title +'</span>'
      }
  
templet: '<div><a href="/detail/{{d.id}}" class="layui-table-link">{{d.title}}</a></div>'

table.on('event(filter)', callback); 注:event为内置事件名,filter为容器lay-filter设定的值 
table模块在Layui事件机制中注册了专属事件,如果你使用layui.onevent()自定义模块事件,请勿占用table名。目前所支持的所有事件见下文

默认情况下,事件所监听的是全部的table模块容器,但如果你只想监听某一个容器,使用事件过滤器即可。 
假设原始容器为:<table class="layui-table" lay-filter="test"></table> 那么你的事件监听写法如下:
//以复选框事件为例
table.on('checkbox(test)', function(obj){
  console.log(obj)
});




原始容器
<table id="demo" lay-filter="test"></table>
 
工具栏模板:
<script type="text/html" id="toolbarDemo">
  <div class="layui-btn-container">
    <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
    <button class="layui-btn layui-btn-sm" lay-event="delete">删除</button>
    <button class="layui-btn layui-btn-sm" lay-event="update">编辑</button>
  </div>
</script>
 
<script;>
//JS 调用:
table.render({
  elem: '#demo'
  ,toolbar: '#toolbarDemo'
  //,…… //其他参数
});
 
//监听事件
table.on('toolbar(test)', function(obj){
  var checkStatus = table.checkStatus(obj.config.id);
  switch(obj.event){
    case 'add':
      layer.msg('添加');
    break;
    case 'delete':
      layer.msg('删除');
    break;
    case 'update':
      layer.msg('编辑');
    break;
  };
});
</script>



监听单元格编辑
单元格被编辑,且值发生改变时触发,回调函数返回一个object参数,携带的成员如下:

codelayui.code
table.on('edit(test)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
  console.log(obj.value); //得到修改后的值
  console.log(obj.field); //当前编辑的字段名
  console.log(obj.data); //所在行的所有相关数据  
});



//监听工具条 
table.on('tool(test)', function(obj){ //注:tool 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
  var data = obj.data; //获得当前行数据
  var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
  var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
 
  if(layEvent === 'detail'){ //查看
    //do somehing
  } else if(layEvent === 'del'){ //删除
    layer.confirm('真的删除行么', function(index){
      obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
      layer.close(index);
      //向服务端发送删除指令
    });
  } else if(layEvent === 'edit'){ //编辑
    //do something
    
    //同步更新缓存对应的值
    obj.update({
      username: '123'
      ,title: 'xxx'
    });
  } else if(layEvent === 'LAYTABLE_TIPS'){
    layer.alert('Hi,头部工具栏扩展的右侧图标。');
  }
});



//禁用前端自动排序,以便由服务端直接返回排序好的数据
table.render({
  elem: '#id'
  ,autoSort: false //禁用前端自动排序。注意:该参数为 layui 2.4.4 新增
  //,… //其它参数省略
});
 
//监听排序事件 
table.on('sort(test)', function(obj){ //注:sort 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"
  console.log(obj.field); //当前排序的字段名
  console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
  console.log(this); //当前排序的 th 对象
 
  //尽管我们的 table 自带排序功能,但并没有请求服务端。
  //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
  table.reload('idTest', {
    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。
    ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
      field: obj.field //排序字段
      ,order: obj.type //排序方式
    }
  });
  
  layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
});

<<目前仅可微信充值>>

交流6群646597421
(有充值或分成历史的才能加群,加群QQ要和软件资料QQ一致)

如果您是开发者,请在2021年前将API地址api.myzjxl.com:8080更换为api.zhijing888.com

蓝狐数据共享平台
开发者群:945892942,开发者享有5%-20%分成,账户有充值这不在参与,api文档查看http://xiangjiuer.cn

米粒http://www.yyyung.cn:9000/index.html
乌龟http://wuguima.cn/
飞享  http://feixiang.taixingwds.com
致敬   http://download.myzjxl.com/
考拉云  http://www.kaolama.com/register?inviteCode=14DJwtLth
番茄 下载ifanqie.cc
迅捷:http://xunjie.taixingwds.com/
新妈:http://www.xinma1.com:10001/home.html
蓝狐:http://xiangjiuer.cn/
妈大师:http://mds.js.sdmpay.com
路虎 www.luhujiema.com
神妈http://202.79.167.29/
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

评论:

发表评论:

code