vue.js实现分页查询

如何使用vue.js进行分页查询?我用了element-ui 结合 vue.js说明。

vue.js实现分页查询

文章图片
Html部分:
< div id="example"> < template> < el-table :data="http://www.srcmini.com/tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)" style="width: 100%" > < el-table-column prop="date" label="日期" width="180"> < /el-table-column> < el-table-column prop="name" label="姓名" width="180"> < /el-table-column> < el-table-column prop="address" label="地址"> < /el-table-column> < /el-table>< el-pagination background layout="prev, pager, next, sizes, total, jumper" :page-sizes="[5, 10, 15, 20]"//每页展示条选择组件 :page-size="pagesize"//每页展示条 :total="tableData.length" @current-change="handleCurrentChange" // currentPage改变时会触发 @size-change="handleSizeChange" //pagesize改变时触发 > < /el-pagination> < /template> < /div>

表格中的属性data的算法是运用了slice()方法返回的是一个数组。就是要限制每页显示的行数。
Vue.js部分:
< script> new Vue({ el: '#example', data() { return { pagesize: 5, currentPage:1, tableData: [... ],// 数组} }, methods: { handleCurrentChange(cpage) { this.currentPage = cpage; }, handleSizeChange(psize) { this.pagesize = psize; }, }, }) < /script>

pagesize属性是设置每页显示的行数,currentPage是当前页数,初始化是1,就是第一页的意思。
vue.js实现分页查询

文章图片
如果是实际项目中,数据是一个请求返回的页面,我们前端拿到手上的只是一个连接,那应该怎么办?
不同担心,在js文件中加入连接:
< script type="text/javascript"> Vue.use(ELEMENT) axios.defaults.baseURL = '数据路径' < /script>

然后再vue中再初始化数组list[ ].
new Vue({ el: '#app', data: { list: [], pagesize: 10, currpage: 1 })

【vue.js实现分页查询】最后别忘记了把表格上面的数组替换成你定义的数组的名称。
< el-table :data="http://www.srcmini.com/list.slice((currpage - 1) * pagesize, currpage * pagesize)" < /el-table>

    推荐阅读