美文网首页工作生活
avue 分页组件——假分页绑定数据

avue 分页组件——假分页绑定数据

作者: 轩_7ca0 | 来源:发表于2019-07-03 16:06 被阅读0次

借鉴 https://blog.csdn.net/u014418725/article/details/79702001  Vue.js iView Page分页组件之假分页

使用vue的Page组件实现分页效果,从现实角度来说,肯定是真分页才有现实的价值,但是假分页也很重要。

真分页就是每次前段请求,后端拿到请求去调用接口查询数据库。

假分页就是前段一次请求,后端一次性查询所有或者固定页数,之后前段的请求全从之前拿到的里面分批给前段。

template页

<avue-crud ref="partner"

                :data="tableData"

                :table-loading="tableLoading"

                :option="tableOption"

                :page="page"

                @size-change="sizeChange"

                @current-change="currentChange"

                @on-load="getList" >

      </avue-crud>

script

data() {

      return {

        listdata:[],

        tableData: [],

        page: {

          total: 0, // 总页数

          currentPage: 1, // 当前页数

          pageSize: 10 // 每页显示多少条

        },

        tableLoading: false,

        tableOption: tableOption

      }

    },

    computed: {

      ...mapGetters(['permissions'])

    },

created() {

      request({

            url: 'http://localhost:8080/api/com.XXX.Card',

            method: 'get'

          }).then(response => {

            //console.log(JSON.stringify(response.data))

          let totalNum = 0;

          for(var i=0;i<response.data.length;i++){

            // console.log("res.data[i] is " + i + "\n " + JSON.stringify(response.data[i]))

            var object = eval(response.data[i])

            object.index = i+1;

            //console.log("i is " + i + "\n " + JSON.stringify(object));

            totalNum ++;

            this.listdata.push(object);

            // console.log(object)

            if(i<this.page.pageSize){ //初始化获取数据的过程中,将前10个默认加入分页data

              this.tableData.push(object);

              }

              this.page.total = totalNum;

          }

          this.tableLoading = false

        }).catch(function (error) {

              alert(error);

            });

    },

methods: {

      getList(currentPage) {

        //console.log("当前页面页码是:" + currentPage)

              this.tableData.splice(0,this.tableData.length);

              for(var i = this.page.pageSize*(currentPage - 1) + 1;

                i<= ((this.page.total>this.page.pageSize*currentPage)?(this.page.pageSize*currentPage):(this.page.total));

                i++){

                this.tableData.push(this.listdata[i-1]);

              }

              this.tableLoading = false

      },   

      sizeChange(val) {

        this.page.currentPage = 1

        this.page.pageSize = val

        this.getList(this.page.currentPage)

      },

      currentChange(val) {

        this.page.currentPage = val

        this.getList(val)

        // this.$message.success('页码' + val)

      }, 

}

相关文章

  • avue 分页组件——假分页绑定数据

    借鉴https://blog.csdn.net/u014418725/article/details/797020...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • vue elementUI table表格增删改查Demo

    涉及到elementUI,table组件,分页组件,dialog组件,form组件.... 完整Demo 分页组件...

  • iview 分页插件初始化

    出现条件:列表数据公用一个分页插件,数据更新了,分页插件没有更新。 解决: page组件添加ref , 当每次数据...

  • vue实现分页组件

    vue 实现分页组件 写了个后台管理项目有很多表格的数据,写了个分页组件 首先新建一个子组件paging.vue,...

  • 分页组件

    1.分页组件1UI展示: 2.组件调用 html代码: js代码: 1.分页组件2UI展示: 分页组件2后续更新。...

  • Mvc分页组件MvcSimplePager代码重构

    Mvc分页组件MvcSimplePager代码重构 Mvc分页组件MvcSimplePager代码重构1.1 In...

  • Vue实现分页操作

    1,分页时候引入vue自带的分页组件实现: (1)

  • 分页

    分页种类假分页从数据库中取出所有的数据,然后分页在界面上显示。访问一次数据库,但由于选择的数据量比较大,所以第一次...

  • vue组件目录

    1.基本table组件 2.下拉框组件 3.分页组件 4.弹窗分页查询组件

网友评论

    本文标题:avue 分页组件——假分页绑定数据

    本文链接:https://www.haomeiwen.com/subject/rfqchctx.html