Layui的使用

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>
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页