Vue后台管理系统练习-6 Mock与Element-ui展示模拟数据

之前做了一个写死数据的,觉得还是Mock模拟数据接口更模拟真实一点,重新写了一版

效果如下图:
在这里插入图片描述

模拟数据

首先使用Mock模拟需要的数据,因为user页面内容比较多,后期也有增减用户的操作一类,都涉及到Mock方法拦截模拟,因此新建一个user.js用以集中编写,具体生成方式可以查看mockjs官网,大致如下:

import Mock from 'mockjs'

// 模拟数据
let UserList = []
const count = 10  // 模拟数量

for (let i = 0; i < count; i++) {
  UserList.push(
    Mock.mock({
	  id: Mock.Random.guid(),
	  username: Mock.Random.cname(),
	  gender: Mock.Random.integer(0, 1),
	  age: Mock.Random.integer(18, 50),
	  type: Mock.Random.integer(0, 1)
	})
  )
}

此处性别、用户类型两个数据使用了数字,因此在获取用户信息列表的时候将它们转化为相应字符串

getUserList(config) {
  const pageList = UserList.map(user =>{
    user.gender = parseInt(user.gender) == 1 ? "男" : "女"
    user.type = parseInt(user.type) == 1 ? "管理员用户" : "普通用户"

    return user
  })

  return {
	code: 200,
	list: pageList
  }
},

然后在mock.js中引用拦截一下:

import user from './mockServeData/user'

Mock.mock('/user/getUserList', user.getUserList)

这样一个简易的数据接口就写好了

数据展示

接下来使用element-ui中的table组件展示数据,table在多个页面都会用到,因此稍微做一下封装:

<template>
  <el-table :data="tableData" stripe style="width: 100%">
    <el-table-column
      v-for="item in tableHead"
      :key="item.prop"
      :prop="item.prop"
      :label="item.label"
      min-width="180px"
    >
    </el-table-column>
    <el-table-column 
    	prop="edit" 
    	label="编辑管理" 
    	min-width="250">
      <el-button type="primary" size="small">修改</el-button>
      <el-button size="small">删除</el-button>
    </el-table-column>
  </el-table>
</template>

<script>
  export default {
    props: ["tableHead", "tableData"],
  };
</script>

这里还没有编写修改和删除的功能,因为还需要使用表单相关功能,留到下一篇再写。先预留了位置

父组件传送数据如下:

tableHead: [
    {
    prop: "username",
	  label: "用户名",
	},
	{
		prop: "gender",
		label: "性别",
	},
	{
		prop: "age",
		label: "年龄",
	},
	{
		prop: "type",
		label: "用户类型",
	},
],

tableData的数据需要通过模拟接口进行获取:

mounted(){
  getUserList().then((res) => {
		const { code, list } = res.data;
		if (code === 200) {
			this.tableData = list;
		}
	});
},

再绑定到子组件table中就能够显示了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-element-admin是一个基于Vue.jsElement UI的开源后台管理系统模板。在vue-element-admin中使用mock可以模拟后端接口的返回数据,方便前端开发和调试。 要在vue-element-admin中使用mock,可以按照以下步骤进行操作: 1. 首先,在`/src/main.js`文件中注释掉相关代码。这段代码通常用于在生产环境中关闭mock功能。注释掉后,即可在开发环境中使用mock数据。 2. 接下来,在`/vue.config.js`文件中注释掉相关代码。这段代码通常用于在开发环境中启用mock服务器。注释掉后,即可使用mock数据。 3. 在`src/api`文件夹中创建一个新的文件,例如`charts.js`,并添加需要的接口方法。可以参考引用\[2\]中的示例代码。在这个文件中,可以使用`Mock.js`来模拟接口返回的数据。 4. 在`src/mock`文件夹中创建一个新的文件,例如`charts.js`,并创建mock接口。可以参考引用\[2\]中的示例代码。在这个文件中,可以使用`Mock.js`来定义接口的返回数据。 5. 找到`src/mock/index.js`文件,将新创建的`charts.js`引入其中。 6. 在需要使用mock数据的页面中,引入需要的接口方法。可以参考引用\[3\]中的示例代码。在这个页面中,可以调用接口方法并使用返回的数据进行相应的操作。 通过以上步骤,你就可以在vue-element-admin中使用mock模拟后端接口的返回数据了。这样可以方便地进行前端开发和调试。 #### 引用[.reference_title] - *1* [vue-element-admin:不使用内置mock功能.](https://blog.csdn.net/liangxiaomanbu/article/details/122984448)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Vue Element Admin 用mock模块模拟数据](https://blog.csdn.net/Hero_rong/article/details/102952251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值