溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Bootstrap-Table實現滿意的表格功能

發布時間:2021-04-30 11:11:12 來源:億速云 閱讀:239 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關如何使用Bootstrap-Table實現滿意的表格功能,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Bootstrap是什么

Bootstrap是目前最受歡迎的前端框架,它是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷,它還有一個響應最好的Grid系統,并且能夠在手機端通用,而Bootstrap是使用許多可重用的CSS和JavaScript組件,可以幫助實現需要的幾乎任何類型的網站的功能,此外,所有這些組件都是響應式的。

一、介紹

從項目名稱就可以知道,這是一款 Bootstrap 的表格插件。表格的展示的形式所有的前端幾乎在工作中都有涉及過,Bootstrap Table 提供了快速的建表、查詢、分頁、排序等一系列功能。

項目地址:https://github.com/wenzhixin/bootstrap-table

可能 Bootstrap 和 jQuery 技術有些過時了,但如果因為歷史的技術選型或者舊的項目還在用這兩個庫的話,那這個項目一定會讓你的嘴角慢慢上揚,拿下表格展示方面的需求易如反掌!

二、模式

Boostatrp Table 分為兩種模式:客戶端(client)模式、服務端(server)模式。

  • 客戶端:通過數據接口將服務器需要加載的數據一次性展現出來,然后裝換成 json 然后生成 table。我們可以自己定義顯示行數,分頁等,此時就不再會向服務器發送請求了。

  • 服務器:根據設定的每頁記錄數和當前顯示頁,發送數據到服務器進行查詢。

三、實戰操作

Tips: 解釋說明均在代碼中以注釋方式展示,請大家注意閱讀。

我們采用的是最簡單的 CDN 引入方式,代碼可直接運行。復制代碼并將配置好 json 文件的路徑即可看到效果。

3.1 快速上手

注釋中的星號表示該參數必寫,話不多說上代碼。示例代碼:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello, Bootstrap Table!</title>
    // 引入 css
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS" crossorigin="anonymous">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
    <link rel="stylesheet" href="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.css">
</head>
<body>
    // 需要填充的表格
    <table id="tb_departments" data-filter-control="true" data-show-columns="true"></table>
// 引入js
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script src="https://unpkg.com/bootstrap-table@1.15.3/dist/bootstrap-table.min.js"></script>
<script>
        window.operateEvents = {
            // 當點擊 時觸發
            'click .delete': function (e,value,row,index) {
                // 在 console 打印出整行數據
                console.log(row);
            }
        };

        $('#tb_departments').bootstrapTable({
            url: '/frontend/bootstrap-table/user.json',         //請求后臺的 URL(*)
            method: 'get',                      //請求方式(*)
            // data: data,                      //當不使用上面的后臺請求時,使用data來接收數據
            toolbar: '#toolbar',                //工具按鈕用哪個容器
            striped: true,                      //是否顯示行間隔色
            cache: false,                       //是否使用緩存,默認為 true,所以一般情況下需要設置一下這個屬性(*)
            pagination: true,                   //是否顯示分頁(*)
            sortable: false,                    //是否啟用排序
            sortOrder: "asc",                   //排序方式
            sidePagination: "client",           //分頁方式:client 客戶端分頁,server 服務端分頁(*)
            pageNumber:1,                       //初始化加載第一頁,默認第一頁
            pageSize: 6,                        //每頁的記錄行數(*)
            pageList: [10, 25, 50, 100],        //可供選擇的每頁的行數(*)
            search: true,                       //是否顯示表格搜索,此搜索是客戶端搜索,不會進服務端,所以個人感覺意義不大
            strictSearch: true,                 //啟用嚴格搜索。禁用比較檢查。
            showColumns: true,                  //是否顯示所有的列
            showRefresh: true,                  //是否顯示刷新按鈕
            minimumCountColumns: 2,             //最少允許的列數
            clickToSelect: true,                //是否啟用點擊選中行
            height: 500,                        //行高,如果沒有設置 height 屬性,表格自動根據記錄條數覺得表格高度
            uniqueId: "ID",                     //每一行的唯一標識,一般為主鍵列
            showToggle:true,                    //是否顯示詳細視圖和列表視圖的切換按鈕
            cardView: false,                    //是否顯示詳細視圖
            detailView: false,                  //是否顯示父子表
            showExport: true,                   //是否顯示導出
            exportDataType: "basic",            //basic', 'all', 'selected'.
            columns: [{
                checkbox: true     //復選框標題,就是我們看到可以通過復選框選擇整行。
            }, {
                field: 'id', title: 'ID'       //我們取json中id的值,并將表頭title設置為ID
            }, {
                field: 'username', title: '用戶名'         //我們取 json 中 username 的值,并將表頭 title 設置為用戶名
            },{
                field: 'sex', title: '性別'                //我們取 json 中 sex 的值,并將表頭 title 設置為性別
            },{
                field: 'city', title: '城市'               //我們取 json 中 city 的值,并將表頭 title 設置為城市
            },{
                field: 'sign', title: '簽名'               //我們取 json 中 sign 的值,并將表頭 title 設置為簽名
            },{
                field: 'classify', title: '分類'           //我們取 json 中 classify 的值,并將表頭 title 設置為分類
            },{
                //ormatter:function(value,row,index) 對后臺傳入數據 進行操作 對數據重新賦值 返回 return 到前臺
                // events 觸發事件
                field: 'Button',title:"操作",align: 'center',events:operateEvents,formatter:function(value,row,index){
                    var del = '<button type="button" class="btn btn-danger delete">刪除</button>'
                    return del;
                }
            }
            ],
            responseHandler: function (res) {
                return res.data      //在加載遠程數據之前,處理響應數據格式.
                // 我們取的值在data字段中,所以需要先進行處理,這樣才能獲取我們想要的結果
            }
        });
</script>
</body>
</html>
如何使用Bootstrap-Table實現滿意的表格功能

上面的代碼展示通過基本 API 實現基礎的功能,示例代碼并沒有羅列所有的 API。該庫還有很多好玩的功能等著大家去發現,正所謂師父領進門修行靠個人~

3.2 拆解講解

下面對關鍵點進行闡述,為了更方便使用的小伙伴清楚插件的用法。

3.2.1 初始化部分
選擇需要初始化表格。
$('#tb_departments').bootstrapTable({})
這個就像table的入口一樣。
<table id="tb_departments" data-filter-control="true" data-show-columns="true"></table>
3.2.2 閱讀數據部分
columns:[{field: 'Key', title: '文件路徑',formatter: function(value,row,index){} }]
  • field json 中鍵值對中的 Key

  • title 是表格頭顯示的內容

  • formatter 是一個函數類型,當我們對數據內容需要修改時會用它。例:編碼轉換

3.2.3 事件觸發器
events:operateEvents
 window.operateEvents = {
        'click .download': function (e,value,row,index) {
            console.log(row);
        }
   }

因為很多時候我們需要針對表格進行處理,所以事件觸發器是一個不錯的選擇。比如:它可以記錄我們的行數據,可以利用觸發器進行定制函數的執行等。

四、擴展

介紹幾個擴展可以讓我們便捷的實現更多的表格功能,而不需要自己造輪子讓我們的工作更加高效(也可以進入官網查看擴展的具體使用方法,官方已經收集了大量的擴展)。老規矩直接上代碼:

4.1 表格導出

<script src="js/bootstrap-table-export.js"></script> 
showExport: true,                                           //是否顯示導出
exportDataType: basic,								        //導出數據類型,支持:'基本','全部','選中'
exportTypes:['json', 'xml', 'csv', 'txt', 'sql', 'excel']   //導出類型

4.2 自動刷新

<script src="extensions/auto-refresh/bootstrap-table-auto-refresh.js"></script>
autoRefresh: true, 							    //設置 true 為啟用自動刷新插件。這并不意味著啟用自動刷新
autoRefreshStatus: true,						//設置 true 為啟用自動刷新。這是表加載時狀態自動刷新
autoRefreshInterval: 60,						//每次發生自動刷新的時間(以秒為單位)
autoRefreshSilent: true							//設置為靜默自動刷新

4.3 復制行

<script src="extensions/copy-rows/bootstrap-table-copy-rows.js"></script>
showCopyRows: true,									//設置 true 為顯示復制按鈕。此按鈕將所選行的內容復制到剪貼板
copyWithHidden: true,								//設置 true 為使用隱藏列進行復制
copyDelimiter: ', ',								//復制時,此分隔符將插入列值之間
copyNewline: '\n'									//復制時,此換行符將插入行值之間

關于“如何使用Bootstrap-Table實現滿意的表格功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女