layui回顾

表格

简单的表格实例使用,主要用作笔记回顾,更多详细的api可以看官网哦。
传送门:layui-table官网实例
1.引入&页面html

<link rel="stylesheet" href="layui/css/layui.css" />
<link rel="stylesheet" href="layui/css/layui.css" />
//html
<!--表格  -->
<table class="layui-hide" id="test" lay-filter="test"></table>
<!-- 表格 end -->
<!--事件-->
<script type="text/html" id="barDemo">
  <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit" style="font-size: 30px; color: #fff;"></i>编辑</a>
</script>

2.js

layui.use('table', function(){
	  var table = layui.table;
	  var editstatus=false;
	  if(userPerm==0)editstatus=true
	  table.render({
	    elem: '#test',
	    url:'getNetWorkRemovalStion.action',
	    title: '用户数据表',
	    method:'post',
	    cols: [[
	  	      {field:'id', title:'编号', width:180, fixed: 'left', sort: true,event: 'box-pop', style:'cursor: pointer;'}
	  	      ,{field:'removalTimeOld', title:'搬迁时间', width:110,templet: function(d){
	  	        return d.removalTimeOld?d.removalTimeOld.split('T')[0]:''
	  	      }}
	  	      ,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:100,hide:editstatus}
	  	    ]]
	  	  ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
	  	      layout: [  'prev', 'page', 'next', 'count','skip'] //自定义分页布局
	  	    }
	  	  ,where: {status:2,city:'',removalTimeNew:''} //如果无需传递额外参数,可不加该参数
	  	  ,request: {
	  	        pageName: 'pageNo' //页码的参数名称,默认:page
	  	        ,limitName: 'pageSize' //每页数据量的参数名,默认:limit
	  	    }
	  	  ,parseData: function(res){ //res 即为原始返回的数据
	  	        return {
	  	          "code": res.code, //解析接口状态
	  	          "msg": res.msg, //解析提示文本
	  	          "count": res.data.page.totalRows, //解析数据长度
	  	          "data": res.data.list //解析数据列表
	  	        };
	  	  },
	  	  id:'testReload'
	  });
	  
//这个是搜索,第一种需要设置id,比如上面我设为testReload
	   var $ = layui.$, active = {
	    reload: function(){
	      table.reload('testReload', {
	        page: {
	          curr: 1 //重新从第 1 页开始
	        }
	        ,where: {
	        	city:$('.seach-city').val(),
	        	removalTimeNew:$('#removalTimeNew').val()
	        }
	      }, 'data');
	    }
	  };
	  
	  $('.seachBtn').on('click', function(){
	    var type = $(this).data('type');
	    active[type] ? active[type].call(this) : '';
	  }); 
	  
	  //监听行工具事件
	  table.on('tool(test)', function(obj){
	    var data = obj.data;
	   // console.log(obj)
	    if(obj.event === 'edit'){
			//编辑
	    }else if(obj.event === 'check'){
	    //核验
	    }else if(obj.event === 'box-pop'){//弹出框
	    	//事件
	    }
	  });
	
	});

3.搜索的第二种写法

	  var tableIns=table.render({
	    elem: '#test',
	    url:'',
	    title: '用户数据表',
	    method:'post',
	    cols: []
	  ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
	      layout: [  'prev', 'page', 'next', 'count','skip'] //自定义分页布局
	    }
	  ,where: {status:5,city:'',removalTimeNew:''} //如果无需传递额外参数,可不加该参数
	  ,request: {
	        pageName: 'pageNo' //页码的参数名称,默认:page
	        ,limitName: 'pageSize' //每页数据量的参数名,默认:limit
	    }
	  ,parseData: function(res){ //res 即为原始返回的数据
	        return {
	          "code": res.code, //解析接口状态
	          "msg": res.msg, //解析提示文本
	          "count": res.data.page.totalRows, //解析数据长度
	          "data": res.data.list //解析数据列表
	        };
	  }
	  });
	  	$('.seachBtn').on('click', function(){
			tableIns.reload({
			  where: { //设定异步数据接口的额外参数,任意设
				  city:$('.seach-city').val(),
		          removalTimeNew:$('#removalTimeNew').val(),
		          status:status
			  }
			  ,page: {
			    curr: 1 //重新从第 1 页开始
			  }
			});
		});

4.编辑
需要col里面写上edit: ‘text’

//监听单元格编辑这个需要元素edit: 'text'
 table.on('edit(test)', function(obj){
    var value = obj.value //得到修改后的值
	var data=obj.data;
    console.log(obj)
  });

laydate

1.单独使用可以引入laydate
2.如果你的页面已经使用了 layui,推荐你直接采用 layui 内置的 layDate 模块,请勿再重复引用独立版的 laydate.js
传送门:laydate独立版
1.单独使用

	//设置开始时间
	var startDate = laydate.render({
	    elem: '#start_time',
	    //value:ttime,
	    max:ttime,
	    done: function (value, date) {
	    	if (value !== '') {
	            endDate.config.min.year =  date.year;
	            endDate.config.min.month = date.month-1;
	            endDate.config.min.date = date.date;
	        } else {
	            endDate.config.min.year = '';
	            endDate.config.min.month = '';
	            endDate.config.min.date = '';
	        }
	    }
	});
	//设置结束时间
	var endDate = laydate.render({
	    elem: '#end_time',
	    //value:end,
	    max:end,
	    done: function (value, date) {
	    	if (value !== '') {
	            startDate.config.max.year = date.year;
	            startDate.config.max.month = date.month - 1;
	            startDate.config.max.date = date.date;
	        } else {
	            startDate.config.max.year = '';
	            startDate.config.max.month = '';
	            startDate.config.max.date = '';
	        }
	    }
	});

2.模块使用

	layui.use('laydate', function(){
		  var laydate = layui.laydate;
		  //执行一个laydate实例
		  laydate.render({
		    elem: '#time' //指定元素
		  });
		});

layer

弹出层跟laydate一样,也可以引入单独版或者在模块中使用
主要注意点:当使用confirm的时候,点击否的时候不会消失
解决方法:parent.layer.closeAll()
传送门:layer的demo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值