Element UI 是一套采用 Vue 2.0 作為基礎框架實現(xiàn)的組件庫,它面向企業(yè)級的后臺應用,能夠幫助你快速地搭建網(wǎng)站,極大地減少研發(fā)的人力與時間成本。在這個月的 NingJS 上我們開源了這個項目,當時它的文檔還沒有準備好。今天,經(jīng)過兩周多的完善, Element UI 的文檔正式上線啦!目前它處于 rc 階段,正式版將于 Vue 2.0 發(fā)布后第一時間跟進。 歡迎大家來使用和完善,一起把它做成 Vue 最好的企業(yè)級組件庫。
ElementUI的表格要求的數(shù)據(jù)類型為字典數(shù)組。我使用了python3寫后端,那么從數(shù)據(jù)庫取數(shù)據(jù)時添加一行cursorclass=pymysql.cursors.DictCursor即可。取出后我將其存入redis數(shù)據(jù)庫方便之后取用。取用時使用eval()函數(shù)再傳到前端即可。
前端放置Pagination 分頁器,我這里直接采用了完整功能的分頁器。
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 50, 100]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper" :total="data.length"> </el-pagination>
其中:handleSizeChange為pagesize發(fā)生改變時的相應函數(shù),handleCurrentChange為currentPage發(fā)生改變時的相應函數(shù)。
page-sizes為所有可選擇的page-size。可以自己更改其中的數(shù)字。
layout為附帶的功能,一般不用動它。
total為總數(shù)據(jù)數(shù)。由于是字典數(shù)組,直接使用length方法即可得到總數(shù)據(jù)數(shù)。
data () { return { data: [], currentPage:1, pagesize:20, } },
初始頁currentPage、初始每頁數(shù)據(jù)數(shù)pagesize和數(shù)據(jù)data
methods: { handleSizeChange: function (size) { this.pagesize = size; }, handleCurrentChange: function(currentPage){ this.currentPage = currentPage; } }
上面的兩個響應函數(shù),很好理解。
<el-table :data="data.slice((currentPage-1)*pagesize,currentPage*pagesize)" stripe style="width: 100%">
el-table標簽。通過計算很容易得到,要使當頁顯示分頁后的對應數(shù)據(jù),其下標應為(當前頁-1)*每頁數(shù)據(jù)數(shù) 到 當前頁*每頁數(shù)據(jù)數(shù)。使用slice方法進行取用。
stripe為帶斑馬紋表格。
<el-table-column prop="id" label="序號" align="center"> </el-table-column>
column標簽。可放多個,對每列的控制。label為該列名稱,顯示在第一行。prop為data中的某key的名稱。
總結
以上所述是小編給大家介紹的Vue2.0+ElementUI實現(xiàn)表格翻頁,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com