您好,登錄后才能下訂單哦!
最近接觸一個很棒的插件,Bootstrap table沒做過前端的表示對table的印象還只停留在html的table標簽那一套,用過bootstrap table之后不得不說真的很實用。
構造方式
1 、HTML
<div class="btn-group hidden-xs"id="exampleTableEventsToolbar" > //定義一系列工具欄... </div> <table data-toggle="table" data-url="${ctxAdmin}/user/userData?orgId=${orgId}" //table數據來源,json格式 data-pagination="true" //是否支持分頁 data-show-search="true" //是否顯示搜索框功能 data-show-columns="true" //顯示columns功能按鈕 data-icon-size="outline" data-mobile-responsive="true" data-height="500" id="tablelist" data-side-pagination="server" //支持服務器端分頁,默認是client> <thead> <tr> <th data-field="user_id">ID</th> <th data-field="username" data-formatter="usernameFormatter" //columns option 參見官網解釋 data-events="usernameEvents">用戶名</th> <th data-field="real_name">真實姓名</th> <th data-field="tel_num">座機</th> <th data-field="mobile">手機</th> <th data-field="user_type">用戶類型</th> <th data-field="operation" data-formatter="actionFormatter" data-events="actionEvents">操作</th> </tr> </thead> </table>
2 、 js構造:
(function() { $('#tablelist').bootstrapTable({ url: "${ctxAdmin}/user/userData?orgId=${orgId}", search: true, //是否顯示搜索框功能 pagination: true, //是否分頁 showRefresh: true, //是否顯示刷新功能 showToggle: true, showColumns: true, iconSize: 'outline', // toolbar: '#exampleTableEventsToolbar', 可以在table上方顯示的一條工具欄, icons: { refresh: 'glyphicon-repeat', toggle: 'glyphicon-list-alt', columns: 'glyphicon-list' } });
結合官網上展示的Table options,Column options,Events,Methods可以完成很多功能。上面的data-formatter ,data-events就是Column options中的選項 。
data-formatter 和 data-events
要實現如下效果,用上面兩個option配合使用即可,一個定義格式,一個定義點擊的操作。
直接上js代碼
//value: 所在collumn的當前顯示值, //row:整個行的數據 ,對象化,可通過.獲取 //表格-操作 - 格式化 function actionFormatter(value, row, index) { return '<a class="mod" >修改</a> ' + '<a class="delete">刪除</a>'; } //表格 - 操作 - 事件 window.actionEvents = { 'click .mod': function(e, value, row, index) { //修改操作 }, 'click .delete' : function(e, value, row, index) { //刪除操作 } }
服務器分頁/客戶端分頁的轉換,table刷新
bootstrap默認是客戶端分頁 ,可通過html標簽
data-side-pagination:"client"
或者js中的
sidePagination: 'server'
指定。注意,這兩種后臺傳過來的json數據格式也不一樣
client : 正常的json array格式 [{},{},{}]
server:{“total”:0,”rows”:[]} 其中total表示查詢的所有數據條數,后面的rows是指當前頁面展示的數據量。
有事需要根據情況改變分頁方式,就要用到Methods中的
‘refreshOptions' //設置更新時候的options
‘refresh' //設置更新時的url ,query(往后臺傳參數)
$("#tablelist").bootstrapTable('refreshOptions', { sidePagination: 'client' //改為客戶端分頁 }); $("#tablelist").bootstrapTable('refresh', { url: "${ctxAdmin}/user/getsearchuserinfo", //重設數據來源 query: {username: $('#sea-username').val(),realname: $("#sea-realname").val(),mobile: $("#sea-mobile").val()} //傳到后臺的參數 });
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。