layui使用

LK最近使用layui跟换i了系统中的前端框架,现将一些知识点做一总结:

layui官网:https://www.layui.com/doc/

介绍:是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。

  1. code目录结构
    在这里插入图片描述
  2. 使用方法

获得 layui 后,引入
./layui/css/layui.css
./layui/layui.js

  1. 使用
    项目中采用的是它的模块化方法:

layui.use([‘table’, ‘form’], function() {
var table = layui.table;
var form = layui.form;
})
4.表格使用

<table id="demo" lay-filter="test"></table>
	var tabObj = table.render({
				elem : '#demo',
				url : ctx + '/showUsers.do',// 数据接口
				method : "post",
				toolbar : '#toolbarDemo',//头部工具条
				page : true, // 开启分页
				cols : [[ // 表头
				{
							type : 'checkbox'
						}, {
							title : '序号',
							type : 'numbers'
						}, {
							field : 'id',
							title : 'ID',
							width : 80,
							sort : true,
							fixed : 'left',
							hide : true
						}, {
							field : 'username',
							title : '用户名',
							width : 160
						}, {
							field : 'role',
							title : '用户类型',
							width : 160
							// sort : true
					}	, {
							field : 'email',
							title : '邮箱',
							width : 160
							// sort : true
					}	, {
							field : 'status',
							title : '状态',
							width : 160,
							hide : true
							// sort : true
					}	, {
							field : 'administration',
							title : '管理',
							width : 280
							// sort : true
					}]],
				request : {
					pageName : 'page',// 页码的参数名称,默认:page
					limitName : 'rows' // 每页数据量的参数名,默认:limit
				},
				response : {
					statusCode : 200,// 规定成功的状态码,默认:0
					// msgNa 'hint', //规定状态信息的字段名称,默认:msg
					countName : 'records', // 规定数据总数的字段名称,默认:count
					dataName : 'rows' // 规定数据列表的字段名称,默认:data
				},
				done : function(res, curr, count) {//数据渲染完的回类似于bootstrap中的format函数

					var trs = $("#maindiv table").find("tr");
					for (var i = 0; i < trs.length; i++) {
						var dtr = trs[i];
						// 格式化用户类型
						var td4 = $(dtr).find("td").eq(4);
						var role = $(td4).find("div").html()
						var v = formatUserType(role);
						$(td4).find("div").html(v)
						var td7 = $(dtr).find("td").eq(7);
						// 格式化操作按钮
						var td6 = $(dtr).find("td").eq(6);
						var status = $(td6).find("div").html()
						var btn = formatBtn(status, role)
						$(td7).find("div").html(btn)
					}
				}

			});
	// 头工具栏事件
	table.on('toolbar(test)', function(obj) {
				var checkStatus = table.checkStatus(obj.config.id);
				// 添加新用户
				if (obj.event == "addUser") {
					var addUser = layer.open({//弹出框
								type : 1,
								skin : 'layui-layer-demo', // 样式类名
								anim : 0,
								title : ['添 加 新 用户', 'font-size:18px;'],
								area : ['800px', '500px'],
								content : $("#addUser"),//所弹出内容的id
								closeBtn : 1,
								end : function() {//弹出完的回调
								//清楚记录
									$("#user_name").val("")
									$("#user_type").val("请选择用户类型")
									$("#user_pass").val("")
									$("#confirm_user_pass").val("")
									$("#user_email").val("")
								重新渲染form
									form.render('select');
									form.render()

								}
							});
					layer.full(addUser);

				}

			});
  1. form使用
<!--添加窗口-->
<div id="addUser"  style="display:none;margin:10px" >
 <form class="layui-form" lay-filter="addUser" >
 
  <div class="layui-form-item">
	  	  	<label class="layui-form-label" style="width: 100px" ><span class="red">*</span>用户名:</label>
            <div class="layui-input-inline">
              <input type="text" name="user_name" id="user_name" value="" style="width: 120px"  lay-verify="required|userName"   class="layui-input">
            </div>
             <span id="username_error"style="display:none;" class="red"> </span> 
          </div>
 
      <div class="layui-form-item">
	  	  	<label class="layui-form-label" style="width: 100px" ><span class="red">*</span>用户类型:</label>
            <div class="layui-input-inline" style="width: 120px">
			    <select lay-verify="required" lay-filter="user_type"  class="u_select" id="user_type" name="user_type">
			     <option value="" selected="true">请选择用户类型</option>
			      <option value="1" >管理员</option>
			      <option value="2" >普通用户</option>
				</select>
			  </div> 
              <span id="groupname_error"style="display:none;" class="red"> </span> 
            </div>
 
	 <div class="layui-form-item">
	  	  	<label class="layui-form-label" style="width: 100px" ><span class="red">*</span>登录密码:</label>
          	  <div class="layui-input-inline" style="width: 120px">
			     <input type="text" name="user_pass" id="user_pass" value="" style="width: 120px"  lay-verify="required|user_pass"   class="layui-input">
			  </div>
			  <span id="dbId_error"style="display:none;" class="red"> </span> 
          </div>
          <div class="layui-form-item">
	  	  	<label class="layui-form-label" style="width: 100px" ><span class="red">*</span>确认密码:</label>
          	  <div class="layui-input-inline" style="width: 120px">
			    <input type="text" name="confirm_user_pass" id="confirm_user_pass" value="" style="width: 120px"  lay-verify="required|confirm_user_pass"   class="layui-input">
				 
			  </div>
			  <span id="confirm_user_pass_error"style="display:none;color:red" class="red">  </span> 
          </div>
          
           <div class="layui-form-item">
	  	  	<label class="layui-form-label" style="width: 100px" ><span class="red">*</span>邮箱:</label>
          	  <div class="layui-input-inline" style="width: 120px">
			    <input type="text" name="user_email" id="user_email" value="" style="width: 120px"  lay-verify="required|user_email"   class="layui-input">
				 
			  </div>
			  <span id="dbId_error"style="display:none;color:red" class="red"> </span> 
          </div>
          
         <div class="layui-form-item">
		    <div class="layui-input-block">
		      <button class="layui-btn layui-btn-green" lay-submit lay-filter="addUserInfo">立即提交</button>
		      <button type="reset" id="commit" class="layui-btn layui-btn-primary">重置</button>
		    </div>
	    </div>
	   </form>
	   
	  </div>

	// 用户验证,要在对应属性中使用lay-verify属性
	form.verify({

		userName : [/^[a-zA-Z]{1}([a-zA-Z0-9_@.]){5,29}$/,
				'用户名为字母、数字和下划线组成的6-30个字符,且以字母开头'],
		user_pass : [
				/^([a-zA-Z0-9]|[._]|[`~!@#$%^&*\(\)\-+\{\}\[\]\\|;:'",.\/<>?]){6,15}$/,
				'密码为英文字母、数字和特殊字符(不含空格)组成的6-15个字符'],
		confirm_user_pass : [
				/^([a-zA-Z0-9]|[._]|[`~!@#$%^&*\(\)\-+\{\}\[\]\\|;:'",.\/<>?]){6,15}$/,
				'密码为英文字母、数字和特殊字符(不含空格)组成的6-15个字符'],
		user_email : [
				/^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/,
				'邮箱格式不对']

	})
// 提交新添加用户信息
	form.on('submit(addUserInfo)', function(data) {
				var user_name = $("#user_name").val().trim()
				var user_type = $("#user_type").val().trim()
				var user_pass = $("#user_pass").val().trim()
				var confirm_user_pass = $("#confirm_user_pass").val().trim()
				var user_email = $("#user_email").val().trim()

					// 提交字段信息
					jQuery.ajax({
								type : 'POST',
								url : ctx + '/checkNewUser.do',
								dataType : 'json',
								data : {
									username : user_name
								},
								success : function(data) {
									if (data) {
										if (data.status == "success") {
											saveUser(user_name, user_type,
													user_pass, user_email)
													//location.reload()
													 
													
										} else {
											layer.alert("用户名已存在!")
										}
									}
								},
								error : function() {
								}
							})
					return false
			})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值