page分页问题,根据页码获取对应页面的数据,接口调用

时间:2021-02-28 22:00:29

添加一个log.js文件,进行接口调用。

import axios from '@/libs/api.request'

const MODULE_URL = '/log';

export const actionLogData = (params, cb) => {
axios.request({
url: `${MODULE_URL}/actionLog`,//接口位置
method: 'get',
params
}).then(cb);
};

Page分页问题。

<Page class="table-page clearfix" :total="paging.total" 
                    :pageSize="paging.pageSize"
                    :current="paging.pageNo"
                    show-total show-elevator
                    @on-change="pageChange"/>

:total="paging.total"  表示总共中存在多少条数据;

:pageSize="paging.pageSize"  表示一个页面上需要显示多少条数据;

:current="paging.pageNo" 表示当前页码;

@on-change="pageChange" 表示点击对应页码时触发pagechange函数。

1、导入接口。

import { actionLogData } from '@/api/log'; //{}中是导入接口的名称,from后显示的是开始时所写log.js文件的位置

2、在export default{}中声明全局变量,并设定页面数据的初始值。

  export default {
data() {
return {
     getdata : [],//声明全局变量
 // 列表页码(其中包括当前页码:pageNum;页面中显示的数据条数:pageSize,以及数据库中存在当前数据的总条数:total)
paging: {
pageNum: 1,
pageSize: 13,
total: 0,
},

3、在methods:{}中进行接口调用,写入函数initList中,其中params中写明调用接口时需要输入的参数。通过调用actionLogData接口,获取需要的值,可以先通过console.log(res)来判断获取数据中的哪些属性值。

在点击页码进行数据切换时,获取对应的页面的page,并调用函数pageChange(page)来获取到对应页面中的数据。

   methods: {
initList() {
const params = {
pageSize: this.paging.pageSize,
pageNo: this.paging.pageNum,
}; actionLogData(params,res=>{
if (!res.status) {
console.log('请求遇到错误!');
return;
}
const { data } = res;
this.getdata = data.list; //获取数据
this.paging.total = data.total; //获取全部数据的数量
}, err => {
this.$Message.error('请求遇到错误!请稍后再试');
});
}, /*页码切换*/
pageChange(page) {
this.paging.pageNum = page;//根据点击时间获取当前页面值page,进行数据回传。
this.initList();
}
},

4、于此同时,在mounted()中发起后端请求,拿取数据;

    mounted() {
this.initList();
this.pageChange(page);
}

5、最后将获取到的数据进行展示,获取到的数据为第3步中的getData,此处可根据自己所需进行数据类型的获取,查看类型以及所属属性可以根据后台接口中查取的数据进行判断。