zoukankan      html  css  js  c++  java
  • vue实现分页

    效果图:

    html页面:

    data数据:

    方法:

    计算属性:

    样式:

    html代码:

    <!--分页-->
    <div class="page-bar">
    <ul>
    <li v-if="cur>1"><a v-on:click="cur--,pageClick()">上一页</a></li>
    <li v-if="cur==1"><a class="banclick">上一页</a></li>
    <li v-for="index in indexs" v-bind:class="{ 'active': cur == index}">
    <a v-on:click="btnClick(index)">{{ index }}</a>
    </li>
    <li v-if="cur!=all"><a v-on:click="cur++,pageClick()">下一页</a></li>
    <li v-if="cur == all"><a class="banclick">下一页</a></li>
    <li><a>共<i>{{all}}</i>页</a></li>
    </ul>
    </div>

    ===========================================================================

    js代码:

    data () {
    return {
    all: 10, //总页数
    cur: 1,//当前页码
    totalPage: 0,//当前条数
    }
    },
    methods: {
    //请求数据
    dataListFn: function(index){
    this.$axios.get("http://127.0.0.1:8090/demand/selectListByPage",
    {
    params:{
    page: index,
    limit:'10',
    state: 0
    }
    }).then((res) => {
    if(res.data.message == "success"){
    this.dataList=[];
    for(let i=0;i<res.data.data.length;i++){
    this.dataList.push(res.data.data[i])
    }
    this.all = res.data.totalPage;//总页数
    this.cur = res.data.pageNum;
    this.totalPage = res.data.totalPage;
    }

    });
    },
    //分页
    btnClick: function(data){//页码点击事件
    if(data != this.cur){
    this.cur = data
    }
    //根据点击页数请求数据
    this.dataListFn(this.cur.toString());
    },
    pageClick: function(){
    //根据点击页数请求数据
    this.dataListFn(this.cur.toString());
    }
    },
    computed: {
    //分页
    indexs: function(){
    var left = 1;
    var right = this.all;
    var ar = [];
    if(this.all>= 5){
    if(this.cur > 3 && this.cur < this.all-2){
    left = this.cur - 2
    right = this.cur + 2
    }else{
    if(this.cur<=3){
    left = 1
    right = 5
    }else{
    right = this.all
    left = this.all -4
    }
    }
    }
    while (left <= right){
    ar.push(left)
    left ++
    }
    return ar
    }
    }

    ================================================================================

    css代码:

    /*分页*/
    .page-bar{
    margin:40px auto;
    margin-top: 150px;

    }
    ul,li{
    margin: 0px;
    padding: 0px;
    }
    li{
    list-style: none
    }
    .page-bar li:first-child>a {
    margin-left: 0px
    }
    .page-bar a{
    border: 1px solid #ddd;
    text-decoration: none;
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #5D6062;
    cursor: pointer;
    margin-right: 20px;
    }
    .page-bar a:hover{
    background-color: #eee;
    }
    .page-bar a.banclick{
    cursor:not-allowed;
    }
    .page-bar .active a{
    color: #fff;
    cursor: default;
    background-color: #E96463;
    border-color: #E96463;
    }
    .page-bar i{
    font-style:normal;
    color: #d44950;
    margin: 0px 4px;
    font-size: 12px;
    }

     
  • 相关阅读:
    高德车载导航自研图片格式的探索和实践
    导航定位向高精定位的演进与实践
    高德算法工程一体化实践和思考
    机器学习在高德用户反馈信息处理中的实践
    UI自动化技术在高德的实践
    高德网络定位算法的演进
    系统重构的道与术
    基于深度学习的图像分割在高德的实践
    MySQL索引那些事
    如何优雅的将Mybatis日志中的Preparing与Parameters转换为可执行SQL
  • 原文地址:https://www.cnblogs.com/web-aqin/p/10769435.html
Copyright © 2011-2022 走看看