在制作網(wǎng)頁(yè)時(shí),經(jīng)常需要使用表格來(lái)展示數(shù)據(jù)。而layui是一款比較流行的前端UI框架,它內(nèi)置了很多UI組件,包括表格組件。而Vue是一款流行的前端框架,使用Vue來(lái)渲染layui表格是很方便的。
首先,我們需要引入layui和Vue的庫(kù)文件。
<link rel="stylesheet" href="/layui/css/layui.css"> <script src="/layui/layui.js"></script> <script src="/vue/vue.js"></script>
然后,我們需要在HTML代碼中定義一個(gè)用于渲染表格的容器。
<div id="app"></div>
接著,我們?cè)赩ue的實(shí)例中定義表格所需的數(shù)據(jù)和方法。
var app=new Vue({ el: '#app', data: { tableData:[], //表格數(shù)據(jù) columns:[], //表格列名 }, methods:{ getData:function(){ //獲取數(shù)據(jù)的方法 var self=this; //發(fā)送請(qǐng)求,獲取數(shù)據(jù) axios.get('/api/getdata').then(function(res){ self.tableData=res.data.tableData; //將數(shù)據(jù)保存到tableData中 self.columns=res.data.columns; //將列名保存到columns中 layui.use('table', function(){ var table = layui.table; table.render({ elem: '#table-container', data: self.tableData, cols: [self.columns], page:true, }); }); }); } }, mounted:function(){ this.getData(); }, })
這里我們使用了axios庫(kù)來(lái)發(fā)送請(qǐng)求獲取數(shù)據(jù),并將數(shù)據(jù)保存到tableData和columns中。然后使用layui.table.render()方法來(lái)渲染表格。
最后,在HTML代碼中添加一個(gè)用于顯示表格的容器,并將它綁定到Vue實(shí)例的app對(duì)象中。
<div id="app"> <table id="table-container" lay-filter="table-filter"></table> </div>
代碼中的lay-filter="table-filter"是用來(lái)對(duì)表格進(jìn)行一些操作的,比如獲取選中的行等。
到這里,我們就成功地使用Vue來(lái)渲染了layui表格。