vue 简单分页组件
2017-12-09 13:30
549 查看
<template> <!-- Pagination --> <ul class="actions pagination"> <li><h3>T:<span class="red">{{totalElements}}</span> P:<span class="red">{{totalPages}}</span> N:<span class="red">{{pageCur}}</span></h3></li> <li><a href="" class=" button small first" :class="{'disabled':pageCur===1}" @click.prevent="paging(1)">首页</a></li> <li><a href="" class=" button small previous" :class="{'disabled':pageCur===1}" @click.prevent="paging(pageCur-1)">上一页</a></li> <li><a href="#" class="button small next" :class="{'disabled':pageCur===totalPages}" @click.prevent="paging(pageCur+1)">下一页</a></li> <li><a href="#" class="button small last" :class="{'disabled':pageCur===totalPages}" @click.prevent="paging(totalPages)">尾页</a></li> <li><input type="text" class="input" v-model.number="nextCur" @change="checkNextCur()"/><a href="#" class="button small go-btn" @click.prevent="goPage()">GO</a></li> </ul> </template> <script type="text/ecmascript-6"> export default { data() { return { pageCur:1, nextCur:2 } }, components: {}, props:{ totalElements:{ type:Number, default:0, }, totalPages:{ type:Number, default:0, }, }, created(){ }, methods:{ paging(pageCur){ if(pageCur<1){ this.pageCur=1; return } if(pageCur>this.totalPages){ this.pageCur=this.totalPages; return } this.pageCur=pageCur; this.$emit('setPageCur', this.pageCur); this.nextCur=this.pageCur+1; this.checkNextCur() }, goPage(){ this.pageCur=this.nextCur; this.$emit('setPageCur', this.pageCur); }, checkNextCur(){ if(this.nextCur>this.totalPages){ this.nextCur=this.totalPages } } } } </script> <style lang="scss" scoped> .pagination{ margin: 0; li{ margin-right:-0.5em; h3{ margin-top: 10px; .red{ color: red; } } &:first-child{ min-width: 196px; } .input{ width: 50px; text-align: center; display: inline-block; } .go-btn{ width:58px; padding: 0 0 0 6px; text-align: center; height: 44px; line-height: 44px; position: relative; top: -2px; left: 1em; } } } </style>
<pagination :totalElements="totalElements" :totalPages="totalPages" @setPageCur="getPageCur"></pagination>
<script type="text/ecmascript-6"> import pagination from "../pagination" export default { data() { return { totalElements:1602, totalPages:25, } }, components: { pagination }, methods:{ getPageCur(pageCur){ // alert(pageCur) } } } </script>
相关文章推荐
- vue.js 组件实现简单分页效果
- Vue组件BootPage实现简单的分页功能
- 精品4K项目列表vue分页组件
- 基于vue.js+Boostrap3开发的分页组件vue-bs-pager
- vue初学实践之路——vue简单日历组件(3)
- vue组件发布到npm简单步骤
- Vue实现web分页组件
- Vue 2.0 制作列表组件,实现分页、搜索、批量操作等
- Vue实现web分页组件详解
- 10vue组件入门_如何写一个最简单的vue组件_vue组件的作用是啥
- vue分页组件table-pagebar
- vue实现简单表格组件
- vue中的自定义分页插件组件的示例
- vue分页组件编写
- Vue.js学习 Item16 – 实现一个自定义分页组件vue-paginaiton
- VUE实现一个分页组件
- asp.net mvc4 mysql制作简单分页组件(部分视图)
- Vue的路由功能(1)简单路由与vue-router的基础使用(同步/异步组件)
- vue实现简单表格组件
- Vue.js iView Page分页组件之假分页