Layui项目实战干货总结

写代码时遇到的知识点拿出来分享。

 

1.layer弹出层显示在top顶层


   
   
  1. // 监听工具条
  2. table. on( 'tool(tb-book)', function ( obj) {
  3. var data = obj. data;
  4. // 修改
  5. if (obj. event === 'edit') {
  6. top. layer. open({
  7. type: 2,
  8. offset: '10px',
  9. title: "修改图书",
  10. area: [ '800px', '660px'],
  11. content: [ 'bookEdit/'+data. id]
  12. });
  13. }
  14. });

 

2.刷新同级iframe中table数据


   
   
  1. //监听表单提交
  2. // 修改
  3. form. on( 'submit(saveBook)', function ( data) {
  4. //layer.alert(JSON.stringify(data.field));
  5. data. field. categoryName=$( "#categoryCode option:selected"). text();
  6. data. field. languageName=$( "#languageCode option:selected"). text();
  7. data. field. locationName=$( "#locationCode option:selected"). text();
  8. data. field. publisherName=$( "#publisherCode option:selected"). text();
  9. $. ajax({
  10. url: '/api/book/save',
  11. type: 'POST',
  12. contentType: "application/json",
  13. dataType: "json",
  14. data: JSON. stringify(data. field),
  15. success: function ( result) {
  16. if (result. code == 200) {
  17. // layer.msg("修改成功!", {icon: 6});
  18. cleanForm( "#saveBook");
  19. if (data. field. id. length > 0) {
  20. layer. closeAll(); //关闭所有的弹出层
  21. }
  22. $( ".layui-show"). find( "iframe")[ 0]. contentWindow. userTable. reload();
  23. } else {
  24. layer. alert(result. message);
  25. }
  26. }
  27. });
  28. return false;
  29. });

 

3.layui单选框radio的使用


   
   
  1. <div class="layui-form-item">
  2. <label class="layui-form-label">性别 </label>
  3. <div class="layui-input-block">
  4. <input type="radio" id="male" name="sex" value="男" title="男">
  5. <input type="radio" id="female" name="sex" value="女" title="女">
  6. </div>
  7. </div>

   
   
  1. form.on('radio',function (data) {
  2. $("input[name='sex']").prop("checked",false);
  3. $(data.elem).prop("checked",true);
  4. });

 


   
   
  1. if(data. sex== '男'){
  2. $( "#male"). prop( "checked", true);
  3. $( "#female"). prop( "checked", false);
  4. }
  5. if(data. sex== '女'){
  6. $( "#male"). prop( "checked", false);
  7. $( "#female"). prop( "checked", true);
  8. }
  9. form. render(); //更新全部

4.使用日期控件


   
   
  1. <div class="layui-inline">
  2. <label class="layui-form-label">借出日期 </label>
  3. <div class="layui-inline">
  4. <input type="text" name="borrowDate" id="borrowDate" required lay-verify="required" autocomplete="off"
  5. class= "layui-input">
  6. </div>
  7. </div>

 


   
   
  1. laydate. render({
  2. elem: '#borrowDate',
  3. type: 'date',
  4. format: "yyyy-MM-dd",
  5. value: new Date()
  6. });

 

5.表格中格式化日期列

{field: 'borrowDate', title: '借阅日期', width: 120,templet:'<div>{{ layui.util.toDateString(d.borrowDate, "yyyy-MM-dd") }}</div>'}
   
   

 

6.日期选择后的事件函数


   
   
  1. laydate. render({
  2. elem: '#borrowDate',
  3. type: 'date',
  4. format: "yyyy-MM-dd",
  5. value: borrowTime,
  6. done: function( value, date, endDate){
  7. returnTime= plusDays( new Date(value), 30);
  8. alert(returnTime. Format( "yyyy-MM-dd"));
  9. $( "#returnDate"). val(returnTime. Format( "yyyy-MM-dd"));
  10. }
  11. });

 

7.表格列不同值设置不同颜色

 

, {field: 'borrowStatus', title: '状态', width: 80,templet:showStatus}
   
   

   
   
  1. // 借阅状态
  2. function showStatus( data) {
  3. var status = data. borrowStatus;
  4. var result;
  5. if (status == 0) {
  6. result = '<a class="" style="color:#FF5722">未还</a>';
  7. }
  8. if (status == 1) {
  9. result = '<a class="" style="color:#009688">已还</a>';
  10. }
  11. if (status == 2) {
  12. result = '<a class="" style="color:#FF5722">逾期</a>';
  13. }
  14. return result;
  15. }

 

8.控制上传文件类型

这里以控制职能上传xls|xlsx文件为例。


   
   
  1. upload. render({
  2. elem: '#uploadExcel' //绑定元素
  3. , url: 'api/student/upload' //上传接口
  4. , accept: 'file' //普通文件
  5. , acceptMime: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  6. , exts: 'xls|xlsx' //只允许上传xls文件
  7. , before: function ( obj) {
  8. layer. load(); //上传处理loading
  9. }
  10. , done: function( res){
  11. // 上传完毕回调
  12. layer. closeAll( 'loading'); //关闭loading
  13. if(res. code== 200){
  14. userTable. reload();
  15. layer. msg( "导入成功!");
  16. } else {
  17. layer. msg(res. message);
  18. }
  19. }
  20. , error: function( ){
  21. //请求异常回调
  22. layer. closeAll( 'loading'); //关闭loading
  23. layer. msg( "导入失败!");
  24. }
  25. });

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值