Layui表格及彈出層顯示錶格
阿新 • • 發佈:2021-08-22
Layui表格及彈出層顯示錶格、表格、彈出層、彈出層表格、表格彈出表格、彈出框表格顯示
控制元件
表格 + 彈出層
彈出層內容為表格
頁面展示
場景
表格存在操作事件,操作中有”檢視“功能,點選”檢視“出現彈出框,在彈出層顯示錶格,彈出層的表格資料為再次請求得到的資料
使用
html程式碼
<!--body中定義初始化表格--> <table id="detail" lay-filter="detail"></table> <!--body中定義,操作事件之檢視(編輯、刪除也類似)--> <script type="text/html" id="barDemo"> <a class="layui-btn layui-btn-xs layui-btn-xs" lay-event="detail">檢視</a> </script>
js程式碼
<script type="text/javascript"> layui.use(['table', 'layer', 'form'], function (){ var table = layui.table ,table2 = layui.table ,layer = layui.layer ,form = layui.form; //關鍵!監聽工具條 table.on('tool(detail)', function(obj){ // detail為彈出框前的表格id var data = obj.data; if(obj.event === 'detail'){ // 監聽”檢視“按鈕事件 layer.open({ // 開啟彈出框 type: 1, // 這個很關鍵!1為頁面層 title: '變化詳情', shadeClose: true, //開啟遮罩關閉 // shade: 0.8, area: ['70%', '90%'], maxmin: true, content: '<div class="layui-container" style="width: 98%"><table id="transfer" lay-filter="transfer" class=""></table></div>', // 彈出層表格定義 success: function () { table2.render({ elem: '#transfer' // 彈出層表格id ,url: "{% url 'index:transfers' %}" // 後端請求URL地址 ,where: { // derail表格的值 'diff_date': data.diff_date ,'source': data.data_center ,'direction': data.change ,'num': data.num } // ,method: 'post' ,page: true // 以下為transfer表格的定義 ,cols: [[ {field: 'diff_date', title: '時間', width: 150} ,{field: 'source', title: '資料中心'} ,{field: 'direction', title: '方向', width: 80} ,{field: 'destination', title: '來源/去處'} ,{field: 'serial_num', title: '序列號', width: 230} ,{field: 'brand', title: '品牌'} ,{field: 'model', title: '型號', width: 200} ,{field: 'purchase', title: '採購編號'} ]] ,response: { statusName: 'code' //規定資料狀態的欄位名稱,預設:code ,statusCode: 10000 //規定成功的狀態碼,預設:0 ,msgName: 'message' //規定狀態資訊的欄位名稱,預設:msg ,countName: 'total' //規定資料總數的欄位名稱,預設:count ,dataName: 'data' //規定資料列表的欄位名稱,預設:data } }) } }); } }); }); </script>
總結
彈出層的type和content
不得不說Layui真的很強大,layer.open中的content更強大!
應該還有更好的方法,歡迎指點。
讓記憶空白!