Heim > Web-Frontend > js-Tutorial > Hauptteil

Ausführliche Erläuterung der Ladedaten der Layui-Tabellenkomponenteninitialisierung und anderer Beispiele

小云云
Freigeben: 2018-01-13 10:33:24
Original
6169 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich den Implementierungscode für die Verwendung der Layui-Tabellenkomponente zum Initialisieren des Datenladens, der Datenaktualisierungstabelle und der Übergabe von Parametern vor. Ich hoffe, dass er allen helfen kann.

Hintergrund

Der Autor hat zuvor die Bootstrap-Tabelle verwendet, da im aktuellen Projekt hauptsächlich das Layui-Framework verwendet wird. Daher bin ich der Layui-Tabelle gefolgt, aber es gab einige Probleme bei der Verwendung Natürlich war es seltsam. Es ist ein Topf, mit dem Sie nicht vertraut sind!

Probleme:

1. Bei Verwendung der von Layui offiziell bereitgestellten Methode [Statische Tabelle konvertieren] zum Initialisieren des Ladevorgangs trat der Fehler auf, dass die ID nicht gefunden wurde (mein eigener Fehler)

2, das Problem der Parameterübergabe (betrachten wir es als die offizielle Schuld von Layui)

Das vom Autor verwendete Schema zum Laden und Aktualisieren von Tabellen

Es gibt eine Seite mit einem Baum auf der Links und rechts eine Tabelle, die die vollständigen Daten lädt. Wenn Sie auf den Baumknoten klicken, wird die Tabelle gefiltert. Dies ist eine sehr einfache Anforderung!

Hier werden wir nicht über die Verwendung von Bäumen sprechen, sondern nur die zugehörigen Tabellenmethoden veröffentlichen!

Veröffentlichen Sie zuerst den Quellformularcode:

<table class="layui-table" lay-filter="EditListTable">
 <thead>
 <tr>
  <th lay-data="{field:&#39;Index&#39;, width:60}">序号</th>
  <th lay-data="{field:&#39;UserId&#39;, width:80}">销售ID</th>
  <th lay-data="{field:&#39;UserName&#39;, width:80}">姓名</th>
  <th lay-data="{field:&#39;Year&#39;, width:70}">年份</th>
  <th lay-data="{field:&#39;M01&#39;, width:80}">一月</th>
  <th lay-data="{field:&#39;M02&#39;, width:80}">二月</th>       
  <th lay-data="{field:&#39;YearValue&#39;, width:80, fixed: &#39;right&#39;}">年度</th>
  <th lay-data="{width:100, align:&#39;center&#39;, toolbar: &#39;#barDemo1&#39;, fixed: &#39;right&#39;}">操作</th>
 </tr>
 </thead>
</table>
<script type="text/html" id="barDemo1">
 <a class="layui-btn layui-btn-mini" lay-event="edit">编辑</a>
</script>
Nach dem Login kopieren

Erklären Sie ihn direkt im Code durch Kommentare:

(function () {
 //加载列表的后端 url
 var getListUrl = '';
 //对于任意一个 table,按照官方的说法,有三种不同的初始化渲染方式,不多介绍,而这里使用的方式姑且看做第三种:转换静态表格 方式
 //转换静态表格方式,自然首先需要有一个已经存在的表格,然后再通过 js 方式转化为 Layui 表格
 //无论哪种方式的 Layui table 初始化自然需要配置项
 //通过转化的方式初始化 Layui table,配置项部分可以在 源table中,部分在js中,源 table 的源代码上文已经给出,下面给出一个示例的 js 中的配置项
 var tableOptions = {
  url: getListUrl, //请求地址
  method: 'POST', //方式
  id: 'listReload', //生成 Layui table 的标识 id,必须提供,用于后文刷新操作,笔者该处出过问题
  page: false, //是否分页
  where: { type: "all" }, //请求后端接口的条件,该处就是条件错误点,按照官方给出的代码示例,原先写成了 where: { key : { type: "all" } },结果并不是我想的那样,如此写,key 将是后端的一个类作为参数,里面有 type 属性,如果误以为 key 是 Layui 提供的格式,那就大错特错了
  response: { //定义后端 json 格式,详细参见官方文档
   statusName: 'Code', //状态字段名称
   statusCode: '200', //状态字段成功值
   msgName: 'Message', //消息字段
   countName: 'Total', //总数字段
   dataName: 'Result' //数据字段
  }
 };
 //
 layui.use(['table', 'layer'], function () {//layui 模块引用,根据需要自行修改
  var layer = layui.layer, table = layui.table;
  //表初始化
  var createTable = function () {
   table.init('EditListTable', tableOptions);// table lay-filter
  };
  //表刷新方法
  var reloadTable = function (item) {
   table.reload("listReload", { //此处是上文提到的 初始化标识id
    where: {
     //key: { //该写法上文已经提到
      type: item.type, id: item.id
     //}
    }
   });
  };
  //表初始化
  createTable();
  //其他和 tree 相关的方法,其中包括 点击 tree 项调用刷新方法
 });
})();
Nach dem Login kopieren

Backend-Methode:

//本示例中,后台代码写法
public ActionResult GetGoalList(string type, string id)
{
  //
}

//如果按照官方文档条件项,应该是下面的写法

public ActionResult GetGoalList(keyItem key)
{
  //
}
public class keyItem
{
 public string id { get; set; }
 public string type { get; set; }
}
Nach dem Login kopieren

Verwandte Empfehlungen:

Verwenden Sie VUE element-ui, um eine wiederverwendbare Tabellenkomponente zu schreiben

jquery dataTable-Methode, um eine bestimmte Datenzeile abzurufen

jquery dataTable lädt Daten im Hintergrund und beim Paging

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Ladedaten der Layui-Tabellenkomponenteninitialisierung und anderer Beispiele. 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