一:设置请求接口配置
//request.js
import axios from 'axios';
const service = axios.create({
// process.env.NODE_ENV === 'development' 来判断是否开发环境
// easy-mock服务挂了,暂时不使用了
// baseURL: 'https://www.easy-mock.com/mock/592501a391470c0ac1fab128',
timeout: 5000
});
service.interceptors.request.use(
config => {
return config;
},
error => {
console.log(error);
return Promise.reject();
}
);
service.interceptors.response.use(
response => {
console.log(response)
if (response.data.code === 20000) {
return response.data.data;
} else {
Promise.reject();
}
},
error => {
console.log(error);
return Promise.reject();
}
);
export default service;
//index.js 包装请求动作
import request from '../utils/request';
/* export const fetchData = query => {
return request({
url: './table.json',
method: 'get',
params: query
});
}; */
export const fetchData = query => {
return request({
url: 'http://localhost:8080/fruitsaleapi/shopProductController/getList',
method: 'post',
params: query //页面参数
});
};
下面是页面代码
<el-table :data="tableData" //绑定动态数据属性 border class="table" ref="multipleTable" header-cell-class-name="table-header" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="55" align="center"></el-table-column> <el-table-column prop="id" label="ID" width="55" align="center"></el-table-column>//对应动态数据属性里的字段 》 prop <el-table-column prop="buhege" label="用户名"></el-table-column> <el-table-column label="账户余额"> <template slot-scope="scope">¥{{scope.row.date}}</template> //可以自己设置展示内容,不使用prop </el-table-column> <el-table-column label="头像(查看大图)" align="center"> <template slot-scope="scope"> <el-image class="table-td-thumb" :src="scope.row.thumb" :preview-src-list="[scope.row.thumb]" ></el-image> </template> </el-table-column> <el-table-column prop="hege" label="地址"></el-table-column> <el-table-column label="状态" align="center"> <template slot-scope="scope"> <el-tag :type="scope.row.state==='成功'?'success':(scope.row.state==='失败'?'danger':'')" >{{scope.row.state}}</el-tag> </template> </el-table-column> <el-table-column prop="date" label="注册时间"></el-table-column> <el-table-column label="操作" width="180" align="center"> <template slot-scope="scope"> <el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)" >编辑</el-button> <el-button type="text" icon="el-icon-delete" class="red" @click="handleDelete(scope.$index, scope.row)" >删除</el-button> </template> </el-table-column> </el-table>
//定义属性以及query请求后台接口的参数对象
export default {
name: 'basetable',
data() {
return {
query: {
brandid: 1,
pageIndex: 1,
pageSize: 10
},
tableData: [],
multipleSelection: [],
delList: [],
editVisible: false,
pageTotal: 0,
form: {},
idx: -1,
id: -1
};
},
调用:
1 created() { 2 this.getData(); 3 }, 4 methods: { 5 // 获取 easy-mock 的模拟数据 6 getData() { 7 fetchData(this.query).then(res => { 8 console.log(res); 9 this.tableData = res; 10 console.log(this.tableData) 11 this.pageTotal = res.length || 50; 12 }); 13 },