Layui表格詳解

Layui是一款輕量級的前端UI庫,其表格部分功能十分強大且易於使用。本文從多個方面進行闡述,探討layui表格的使用和特殊處理。

一、layui表格圖片

在表格中添加圖片可讓數據更加生動直觀。Layui表格提供了兩種方法添加圖片:

1. 在table中使用img標籤添加圖片

  
    <table class="layui-table">
      <thead></thead>
      <tbody>
        <tr>
          <td><img src="images/img1.png"></td>
        </tr>
      </tbody>
    </table>
  

2. 使用laytpl模板引擎渲染

  
    <table class="layui-table">
      <thead></thead>
      <tbody>
        <tr>
          <td>
            <div class="layui-table-cell laytable-cell-1-0" style="padding: 0;margin: 0;">
              {{# if(d.status === 0){ }}
              <img src='images/img1.png'>
              {{# }else{ }}
              <img src='images/img2.png'>
              {{# } }}
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  

二、使用layui製作表格

Layui提供了十分便捷的表格製作方式,只需即可搭建基礎表格

  
    <table class="layui-table">
      <thead>
        <tr>
          <th>序號</th>
          <th>姓名</th>
          <th>年齡</th>
          <th>性別</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>1</td>
          <td>小A</td>
          <td>18</td>
          <td>男</td>
        </tr>
        <tr>
          <td>2</td>
          <td>小B</td>
          <td>20</td>
          <td>女</td>
        </tr>
        <tr>
          <td>3</td>
          <td>小C</td>
          <td>22</td>
          <td>男</td>
        </tr>
      </tbody>
    </table>
  

三、layui表格分頁

當表格的數據量過大時,使用分頁確保頁面能夠流暢地載入和瀏覽。Layui表格提供了方便的分頁配置。

1. 在table中加入page屬性,自動渲染分頁

  
    <table id="userTable" class="layui-table" lay-filter="userTableId" lay-data="{page:true, limit:10}">
      <thead></thead>
      <tbody>
        <tr>
          <td>1</td>
          <td>小A</td>
          <td>18</td>
          <td>男</td>
        </tr>
        <tr>
          <td>2</td>
          <td>小B</td>
          <td>20</td>
          <td>女</td>
        </tr>
        ...
      </tbody>
    </table>
  

2. 使用laypage模塊手動控制分頁

  
    layui.use(['table','laypage'], function(){
      var table = layui.table;
      var laypage = layui.laypage;

      //數據表格配置
      table.render({
        elem: '#userTable',
        cols: [[
          {field:'id', title:'ID', sort:true},
          {field:'name', title:'姓名'},
          {field:'age', title:'年齡'},
          {field:'sex', title:'性別'}
        ]],
        data: [],
      });

      var data = [
        {id:1, name:'小A', age:'18', sex:'男'},
        {id:2, name:'小B', age:'20', sex:'女'},
        {id:3, name:'小C', age:'22', sex:'男'},
        ...
      ];

      //分頁配置
      laypage.render({
        elem: 'page',
        limit: 10,
        count: data.length,
        jump: function(obj){
          var currData = data.concat().splice(obj.curr*obj.limit-obj.limit, obj.limit);
          table.reload('userTable', {
            data: currData
          });
        }
      });
    });
  

四、layui表格異常回調

使用Ajax或其他方式非同步載入數據時,出現錯誤的情況是時常發生的。Layui表格提供了異常回調,讓我們可以自定義錯誤處理方式。

  
    var table = layui.table;

    table.render({
      //...
      //異常回調
      done:function(res, curr, count) {
        if (res.code != 0) {
          layer.msg(res.msg, {icon: 5, time: 2000});
        }
      }
    });
  

五、layui表格排序

點擊表格頭部即可轉換排序方式。默認情況下,數據表格的數據按主鍵默認順序存在。排序和自定義類似,只需在後面加入 sort:true 即可,如下:

  
    <thead>
      <tr>
        <th lay-data="{field:'id', sort:true}">ID</th>
        <th lay-data="{field:'username', sort:true}">用戶名</th>
        <th lay-data="{field:'age', sort:true}">年齡</th>
      </tr>
    </thead>
  

六、用layui寫一列表格

為了方便整理,這裡我們使用laypage非同步模擬載入數據。

  
    layui.use(['table','laypage'], function(){
      var table = layui.table;
      var laypage = layui.laypage;

      table.render({
        elem: '#userTable',
          layout: ['prev', 'page', 'next'],
        cols: [[
            {field:'id', title:'ID', sort:true},
            {field:'username', title:'用戶名'},
            {field:'age', title:'年齡'},
          {field:'sex',width:80, title:'性別'}
        ]],
        data: [],
        page:false,
      });

      laypage.render({
        elem: 'page',
        limit: 10,
        count: 50,
        jump: function(obj){
          var currData = mockData.concat().splice(obj.curr*obj.limit-obj.limit, obj.limit);
          table.reload('userTable', {
            data: currData
          });
        }
      });

      var mockData = [
        {id:1, username:'小A', age:'18', sex:'男'},
        {id:2, username:'小B', age:'20', sex:'女'},
        {id:3, username:'小C', age:'22', sex:'男'},
        ...
      ];
    });
  

七、layui表格導出pdf

在表格數據量的情況下,依靠瀏覽器直接複製粘貼可能會遇到範圍超出問題。為了更好的導出表格,可以使用 Layui 的 Excel 組件將表格數據導出為 Excel、Pdf 或 Csv 等格式。

在文檔正文中操作方式就不展示具體代碼了,代碼你可以從layui官方網站獲得。

八、layui表格重載

Layui表格提供了非常方便的API,讓我們可以對表格進行重載。例如,在輸入框中填寫關鍵詞,然後點擊搜索,就可以重新從伺服器獲取數據並進行表格重載,實現了快速的搜索和數據動態更新。

  
    layui.use('table', function() {
      var table = layui.table;

      //渲染表格
      table.render({
        //...
      });

      //監聽提交
      form.on('submit(search)', function(data) {
        var key = data.field.key;
        //執行重載
        table.reload('userTable', {
          where: {
            key: key
          }
        });
      });
    });
  

九、layUI表格添加序號

通常我們在表格開頭可以添加序號列,使數據顯得更加清楚明朗。

  
    var table = layui.table;

    table.render({
      elem: '#userTable',
      cols: [[
        {type: 'numbers'},
        {field:'id', title:'ID', sort:true},
        {field:'username', title:'用戶名'},
        {field:'age', title:'年齡'},
        {field:'sex', title:'性別'}
      ]],
      data: [],
    });
  

到這裡,Layui表格方法使用都得到了詳細的解析。使用Layui表格可以得到快速開發和良好的用戶體驗的提升。Layui的監聽事件方法十分豐富,開發者可自行探索更多的實現方式。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186243.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 05:45
下一篇 2024-11-27 05:45

相關推薦

  • 使用Treeview顯示錶格

    在web開發中,顯示錶格數據是一項很常見的需求。當我們需要在頁面上顯示大量數據時,除了使用傳統的表格樣式外,還可以使用Treeview這種可摺疊的表格樣式,以便更好地展示數據。本文…

    編程 2025-04-29
  • Python根據表格數據生成折線圖

    本文將介紹如何使用Python根據表格數據生成折線圖。折線圖是一種常見的數據可視化圖表形式,可以用來展示數據的趨勢和變化。Python是一種流行的編程語言,其強大的數據分析和可視化…

    編程 2025-04-29
  • 如何使用HTML修改layui內部樣式影響全局

    如果您想要使用layui來構建一個美觀的網站或應用,您可能需要使用一些自定義CSS來修改layui內部組件的樣式。然而,修改layui組件的樣式可能會對整個頁面產生影響,甚至可能破…

    編程 2025-04-29
  • Python 圖片轉表格

    本文將詳細介紹如何使用Python將圖片轉為表格。大家平時在處理一些資料的時候難免會遇到圖片轉表格的需求。比如從PDF文檔中提取表格等場景。當然,這個功能也可以通過手動複製、粘貼,…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • Python如何做表格為中心

    本文將從多個方面詳細闡述Python如何做表格,包括表格的創建、數據的插入、表格的樣式設置等內容。 一、創建表格 要在Python中創建表格,我們可以使用第三方庫Pandas。具體…

    編程 2025-04-28
  • 52周存錢法表格圖100元

    52周存錢法是一種有效的儲蓄方法,它能夠幫助人們規律性地儲蓄並實現財務目標。針對這種儲蓄方法,我們可以使用表格來更加直觀地記錄儲蓄進度,並且可以通過代碼實現,給用戶提供更加便捷的服…

    編程 2025-04-27
  • 神經網路代碼詳解

    神經網路作為一種人工智慧技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網路的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網路模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁碟中。在執行sync之前,所有的文件系統更新將不會立即寫入磁碟,而是先緩存在內存…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25

發表回復

登錄後才能評論