参考:简单的VUE+elementUI请求数据和分页
<el-main id="main" class="main">
<Breadcrumb></Breadcrumb>
<div class="table">
<el-table :data="tableData" border style="width: 100%">
<el-table-column fixed prop="id" label="ID" width="100"> </el-table-column>
<el-table-column prop="role_name" label="用户名" width="120"> </el-table-column>
<el-table-column prop="mobile" label="电话" width="150"> </el-table-column>
<el-table-column prop="email" label="Email" min-width="120"> </el-table-column>
<el-table-column prop="create_time" label="创建时间" width="300"> </el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<template slot-scope="scope">
<el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
<el-button type="text" size="small">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[1, 2, 3]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</el-main>
import axios from 'axios'
export default {
name: 'home',
data() {
return {
myInstance: null,
tableData: [],
currentPage: 1,
total: 0,
query: '',
pagenum: 1,
pagesize: 5
};
},
computed: {
},
components: { Header, Aside, Pagination, Breadcrumb },
created() {
this.myInstance = axios.create({
baseURL: 'http://localhost:8888/api/private/v1/',
timeout: 1000
})
this.myInstance.interceptors.request.use(config => {
config.headers['Authorization'] = 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjozMCwiaWF0IjoxNTY4MDExNzgzLCJleHAiOjE1NjgwOTgxODN9.RFZSMmw7_09645D179GySwsZ2I0QJfVPhADleHqUkQ0'
console.log(config);
return config
}, err => {
return Promise.reject(err)
})
this.getUser()
},
methods: {
getUser() {
this.myInstance.get('/users',{
params: {
query: '',
pagenum: this.pagenum,
pagesize: this.pagesize
}
}).then(res => {
this.tableData = res.data.data.users
this.total = res.data.data.total
this.currentPage = res.data.data.pagenum
console.log(res.data)
}).catch(err => {
console.log(err)
})
},
handleClick(row) {
console.log(row);
},
handleSizeChange(val) {
this.pagesize = val;
this.getUser()
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
this.pagenum = val;
this.getUser()
console.log(`当前页: ${val}`);
}
}
}