Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung des Unterschieds zwischen LayUI-Paging und LayUI-Laypage-Paging

Detaillierte Erläuterung des Unterschieds zwischen LayUI-Paging und LayUI-Laypage-Paging

小云云
Freigeben: 2018-05-30 09:16:35
Original
8943 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die Verwendungsbeispiele basierend auf LayUI-Paging und LayUI-Laypage-Paging vorgestellt. Der Herausgeber findet es recht gut, daher werde ich es jetzt mit Ihnen teilen und als Referenz geben. Folgen wir dem Herausgeber und schauen wir uns das an. Ich hoffe, es kann allen helfen.

Rendering:

1. Referenz-JS-Abhängigkeiten

Hauptsächlich jquery -1.11 .3.min.js undlayui.all.js, json2.js wird zum Konvertieren von JSON-Objekten verwendet

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/plugin/layui/lay/dest/layui.all.js"></script> 
<script type="text/javascript" src="${pageContext.request.contextPath}/js/json2.js"></script>
Nach dem Login kopieren

2. Kapselung der js-Paging-Methode (Paginierung verwendet Vorlagelaytpl)

1. Vorlagen-Rendering

/** 
 * 分页模板的渲染方法 
 * @param templateId 分页需要渲染的模板的id 
 * @param resultContentId 模板渲染后显示在页面的内容的容器id 
 * @param data 服务器返回的json对象 
 */ 
function renderTemplate(templateId, resultContentId, data){ 
  layuiuse([&#39;form&#39;,&#39;laytpl&#39;], function(){ 
    var laytpl = layui.laytpl; 
    laytpl($("#"+templateId).html()).render(data, function(html){ 
      $("#"+resultContentId).html(html); 
    }); 
  }); 
  layui.form().render();// 渲染 
};
Nach dem Login kopieren

2. Layui.laypage-Paging-Paket

/** 
 * layuilaypage 分页封装 
 * @param laypagepId 分页控件p层的id 
 * @param pageParams 分页的参数 
 * @param templateId 分页需要渲染的模板的id 
 * @param resultContentId 模板渲染后显示在页面的内容的容器id 
 * @param url 向服务器请求分页的url链接地址 
 */ 
function renderPageData(laypagepId, pageParams, templateId, resultContentId, url){ 
  if(isNull(pageParams)){ 
    pageParams = { 
      pageIndex : 1, 
      pageSize : 10 
    } 
  } 
  $ajax({ 
    url : url,//basePath + &#39;/sysMenu/pageSysMenu&#39;, 
    method : &#39;post&#39;, 
    data : pageParams,//JSON.stringify(datasub) 
    async : true, 
    complete : function (XHR, TS){}, 
    error : function(XMLHttpRequest, textStatus, errorThrown) { 
      if("error"==textStatus){ 
        error("服务器未响应,请稍候再试"); 
      }else{ 
        error("操作失败,textStatus="+textStatus); 
      } 
    }, 
    success : function(data) { 
      var jsonObj; 
      if(&#39;object&#39; == typeof data){ 
        jsonObj = data; 
      }else{ 
        jsonObj = JSON.parse(data); 
      } 
      renderTemplate(templateId, resultContentId, jsonObj); 
       
      //重新初始化分页插件 
      layui.use([&#39;form&#39;,&#39;laypage&#39;], function(){ 
        laypage = layui.laypage; 
        laypage({ 
          cont : laypagepId, 
          curr : jsonObj.pager.pageIndex, 
          pages : jsonObj.pager.totalPage, 
          skip : true, 
          jump: function(obj, first){//obj是一个object类型。包括了分页的所有配置信息。first一个Boolean类,检测页面是否初始加载。非常有用,可避免无限刷新。 
            pageParams.pageIndex = obj.curr; 
            pageParams.pageSize = jsonObj.pager.pageSize; 
            if(!first){ 
              renderPageData(laypagepId, pageParams, templateId, resultContentId, url); 
            } 
          } 
        }); 
      }); 
    } 
  }); 
};
Nach dem Login kopieren

3. Die Methode zum Aktualisieren der aktuellen Page kann weggelassen werden

/** 
 * 分页插件刷新当前页的数据,必须有跳转的确定按钮,因为根据按钮点击事件刷新 
 */ 
function reloadCurrentPage(){ 
  $(".layui-laypage-btn").click(); 
};
Nach dem Login kopieren

3. Seitencode

1. Paging-Tabelle und Paging-Steuerung

<!-- 分页表格 --> 
<p class="layui-form"> 
 <table class="layui-table"> 
  <thead> 
   <tr> 
    <th class="w20"><input type="checkbox" name="checkBoxAll" lay-skin="primary" lay-filter="allChoose"></th> 
   <th class="w200">许可名称</th> 
   <th class="w200">许可编码</th> 
   <th class="w200">菜单名称</th> 
   <th>许可链接</th> 
  </tr>  
   </thead> 
   <tbody id="page_template_body_id"> 
  </tbody> 
 </table> 
</p> 
<!-- 分页控件p -->    
<p id="imovie-page-p"></p>
Nach dem Login kopieren

3. Paging-Ausführungscode:

<script id="page_template_id" type="text/html"> 
{{# layui.each(d.list, function(index, item){ }} 
<tr> 
  <td><input type="checkbox" name="permissionId" lay-skin="primary" value="{{item.permissionId}}"></td> 
  <td>{{item.permissionName || &#39;&#39;}}</td> 
  <td>{{item.permissionCode || &#39;&#39;}}</td> 
  <td>{{item.menuName || &#39;&#39;}}</td> 
  <td>{{item.permissionUrl || &#39;&#39;}}</td> 
</tr> 
{{# }); }} 
</script>
Nach dem Login kopieren
Paging-Parameter:

Paging-Ausführungsmethode:

function getPageParams(){ 
  var pageParams = { 
  pageIndex : 1, 
  pageSize : 2 
  }; 
  pageParams.permissionName = $("input[name=&#39;permissionName&#39;]").val(); 
  pageParams.permissionCode = $("input[name=&#39;permissionCode&#39;]").val(); 
  pageParams.menuName = $("input[name=&#39;menuName&#39;]").val(); 
  return pageParams; 
};
Nach dem Login kopieren

Seitenladeinitialisierungs-Paging:

function initPage(){ 
  renderPageData("imovie-page-p", getPageParams(), "page_template_id",  
      "page_template_body_id", basePath + &#39;/sysPermission/pageSysPermission&#39;); 
};
Nach dem Login kopieren

Wenn Sie die Abfrage für das obige Rendering einschließen, lautet sie wie folgt:

$(function(){ 
  initPage(); 
});
Nach dem Login kopieren
HTML-Seitencode

Abfrageanweisung:

<p> 
      <form class="layui-form layui-form-pane"> 
        <p class="layui-form-item"> 
          <p class="layui-inline"> 
            <label class="layui-form-label">许可名称</label> 
            <p class="layui-input-inline"> 
              <input type="text" name="permissionName"  
                autocomplete="off" class="layui-input" placeholder="请输入许可名称" > 
            </p> 
          </p> 
          <p class="layui-inline"> 
            <label class="layui-form-label">许可编码</label> 
            <p class="layui-input-inline"> 
              <input type="text" name="permissionCode"  
                autocomplete="off" placeholder="请输入许可编码" class="layui-input"> 
            </p> 
          </p> 
          <p class="layui-inline"> 
            <label class="layui-form-label">菜单名称</label> 
            <p class="layui-input-inline layui-input-inline-0"> 
              <input type="text" name="menuName"  
                autocomplete="off" placeholder="请选择菜单名称" class="layui-input"> 
               
            </p> 
          </p> 
          <p class="layui-inline"> 
            <button id="btnSubmit" class="layui-btn" lay-submit="" lay-filter="formFilter">查询</button> 
          </p> 
        </p> 
      </form> 
    </p>
Nach dem Login kopieren

Verwandte Empfehlungen:

$(function(){ 
  initPage(); 
   
  layui.use([&#39;form&#39;], function(){ 
    var form = layui.form(); 
    //监听提交 
    formon(&#39;submit(formFilter)&#39;, function(data){ 
      initPage(); 
      return false; 
    }); 
      
      
  }); 
});
Nach dem Login kopieren


Layui-Paging-Effekt-Implementierungscode-Sharing

PHP-Paging-Klasseninstanzanalyse

Detaillierte Erläuterung von jQuery gekapselte Paging-Komponente

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Unterschieds zwischen LayUI-Paging und LayUI-Laypage-Paging. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage