Layui的使用

  • Post author:
  • Post category:其他


Layui它是一个前端框架

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
layui核心修改的代表都在script里面

在这里插入图片描述
table.render相当于在加载。

elem:相当于绑定元素,这里绑定的是为test的table组件(这里是根据id进行绑定的)

在这里插入图片描述

url:这里指的就是我们请求数据的一个路径

我们在本地访问不到就是因为跨域的问题

在这里插入图片描述
静态的页面是访问不了json的,你要访问的话它首先必须是一个服务

注意这个json数据复制到本地的时候一定要全部复制,别少个括号什么的导致错误,最好的保存方式另存为本地。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
然后我们区分obj是根据它们的event属性

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Layui</title>
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <link rel="stylesheet" href="layui/css/layui.css"  media="all">
  <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
<body>
 
<table class="layui-hide" id="test" lay-filter="test"></table>
 
<script type="text/html" id="toolbarDemo">
  <div class="layui-btn-container">
    <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
    <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
    <button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
  </div>
</script>
 
<script type="text/html" id="barDemo">
  <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
  <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
              
          
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 --> 
 
<script>
layui.use('table', function(){
	// 指的是我要加载table这个组件了
  var table = layui.table;
  
  table.render({
    elem: '#test'
    ,url:'data.json'
    ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
    ,defaultToolbar: ['filter', 'exports', 'print', { //自定义头部工具栏右侧图标。如无需自定义,去除该参数即可
      title: '提示'
      ,layEvent: 'LAYTABLE_TIPS'
      ,icon: 'layui-icon-tips'
    }]
    ,title: '用户数据表'
    ,cols: [[
      {type: 'checkbox', fixed: 'left'}
      ,{field:'zcId', title:'资产编号', width:150, fixed: 'left', unresize: true, sort: true}
      ,{field:'zcNo', title:'资产型号', width:120}
      ,{field:'zcName', title:'资产名称', width:150}
      ,{field:'zcPrice', title:'价格', width:80, sort: true}
      ,{field:'zcFactory', title:'生产厂商', width:100}
      ,{field:'zcProduceTime', title:'生产日期',width:127,sort:true}
      ,{field:'zcBuyTime', title:'入库时间', width:131, sort: true}
	  ,{field:'zcBuyer', title:'购买人',width:90}
      ,{field:'zcType', title:'购买类型', width:120}
      ,{field:'zcStatus', title:'状态', width:100, sort: true}
      ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:150}
    ]]
    ,page: true
  });
  
  //头工具栏事件
  table.on('toolbar(test)', function(obj){
    var checkStatus = table.checkStatus(obj.config.id);
    switch(obj.event){
      case 'getCheckData':
        var data = checkStatus.data;
        layer.alert(JSON.stringify(data));
      break;
      case 'getCheckLength':
        var data = checkStatus.data;
        layer.msg('选中了:'+ data.length + ' 个');
      break;
      case 'isAll':
        layer.msg(checkStatus.isAll ? '全选': '未全选');
      break;
      
      //自定义头工具栏右侧图标 - 提示
      case 'LAYTABLE_TIPS':
        layer.alert('这是工具栏右侧自定义的一个图标按钮');
      break;
    };
  });
  
  //监听行工具事件
  table.on('tool(test)', function(obj){
    var data = obj.data;
    //console.log(obj)
    if(obj.event === 'del'){
      layer.confirm('真的删除行么', function(index){
        obj.del();
        layer.close(index);
      });
    } else if(obj.event === 'edit'){
      // layer.prompt({
      //   formType: 2
      //   ,value: data.email
      // }, function(value, index){
      //   obj.update({
      //     email: value
      //   });
      //   layer.close(index);
      // });
	  layer.alert('编辑行:<br>'+ JSON.stringify(data))
    }
  });
});
</script>

</body>
</html>



版权声明:本文为liulang68原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。