鍍金池/ 問答/HTML/ vue iview的page問題

vue iview的page問題

圖片描述

如圖,當我點擊頁數(shù)的時候,實際上是去后臺分頁查詢的,點擊第二頁的時候正常切換的第二頁,有六條數(shù)據(jù),當我點擊上面的查詢時,重新ajax請求,這個時候頁面的數(shù)據(jù)正常顯示第一頁的,但是下面的分頁無法初始化,請問有什么方法解決嗎?

<div id="app">
                <i-input v-model="username" placeholder="用戶名" clearable style="width: 200px"></i-input>
                <i-button type="primary" shape="circle" icon="ios-search" @click="querytable"></i-button>
                <i-button type="primary" shape="circle">新增</i-button><br/><br/>
                <i-table :columns="columns1" :data="historyData" height="550"  ></i-table><br/><br/>
                <Page :total="dataCount" :page-size="pageSize" @on-change="changepage" show-total></Page>
            </div>
<script>
var vue =  new Vue({
    el: '#app',
    data (){
        return {
            username:'',
        //在腳本中,我們在表格中定義的數(shù)據(jù)和表頭都需要在這里進行綁定,下面是一些假數(shù)據(jù),其中Columns1中的title表示列明,key表示K-V中的標識
            columns1: [
                {
                    title: '用戶名',
                    key: 'username',
                    ellipsis:true
                },
                {
                    title: '郵箱',
                    key: 'email'
                },
                {
                    title: '創(chuàng)建時間',
                    key: 'createTime'
                },
                {
                    title: '更新時間',
                    key: 'updateTime'
                },
                {
                    title: '操作',
                    key: 'action',
                    width: 150,
                    align: 'center',
                    render: (h, params) => {
                        return h('div', [
                            h('Button', {
                                props: {
                                    type: 'primary',
                                    size: 'small'
                                },
                                style: {
                                    marginRight: '5px'
                                },
                                on: {
                                    click: () => {
                                        this.show(params.index)
                                    }
                                }
                            }, 'View'),
                            h('Button', {
                                props: {
                                    type: 'error',
                                    size: 'small'
                                },
                                on: {
                                    click: () => {
                                        this.remove(params.index)
                                    }
                                }
                            }, 'Delete')
                        ]);
                    }
                }
            ],
            //接下來綁定數(shù)據(jù),分別對應(yīng)前面的列的key值來進行數(shù)據(jù)綁定
            historyData: [],
            // 初始化信息總條數(shù)
            dataCount:0,
            pageNum:1,
            pageSize:10
        }
    },
    methods: {
        // 1
        querytable(){
            var dataSource = [];
            $.ajax({ 
                url: "/user/getUsers", 
                type:'post',
                data: {
                    pageNum:this.pageNum,
                    pageSize:this.pageSize,
                    username:this.username
                },
                async : false,
                dataType:'json',
                success: function(data){
                    if(data.type == 'success'){
                        dataSource = data;
                    }
              }}); 
                  this.historyData = dataSource.list;
                 this.dataCount = dataSource.count;
                // $(".ivu-page-item").removeClass('ivu-page-item-active');
                   // $("li[title=1]").addClass('ivu-page-item-active');
                 
      },
        // 2
        changepage(index){
          this.pageNum = index;
          this.querytable();
          this.pageNum = 1;
        },
        //3
        show(index){
             this.$Modal.info({
                 title: 'User Info',
                 content: `Name:${this.historyData[index].username}<br>email:${this.historyData[index].email}<br>createTime:${this.historyData[index].createTime}`
             })
        },
        // 4
        remove (index) {
            // 暫無
        }
    },
      //當頁面加載的時候執(zhí)行
         created () {
          this.querytable();
        }
    });
回答
編輯回答
朽鹿

Page組件的current屬性了解一下

2017年10月8日 02:33
編輯回答
背叛者

解決了

<Page ref="pages" :total="dataCount" :page-size="pageSize" @on-change="changepage" show-total ></Page>
if(evt != undefined && evt.currentTarget.id == "search"){
     this.$refs['pages'].currentPage = 1;
}
2017年3月31日 03:03