效果如图:

前提是搭好vue前端框架,npm install mockjs引入mock.js

当前页全部代码如下,其他有关element-ui的引入未提到,仅作参考用

  1. <!-- 用户管理 -->
  2. <template>
  3. <div class="c-main auth userControl">
  4. <!-- 头部信息 Start -->
  5. <div class="c-search">
  6. <!--<button class="c-btn c-primary" @click="handleShowDialog(1)">添加操作员1</button>-->
  7. <table>
  8. <thead>
  9. <tr>
  10. <td><nobr>设备名称</nobr></td>
  11. <td><el-input size="mini"></el-input></td>
  12. <td><nobr>所属线别</nobr></td>
  13. <td><el-input size="mini"></el-input></td>
  14. <td><nobr>所属车间</nobr></td>
  15. <td><el-input size="mini"></el-input></td>
  16. <td>
  17. <nobr>
  18. <a @click="showSeach()">
  19. {{ setShowMsg }}
  20. <i v-bind:class="{
  21. 'el-icon-arrow-down el-icon--right': styleArrow ,
  22. 'el-icon-arrow-up el-icon--right': setShow}"
  23. ></i>
  24. </a>
  25. <span></span>
  26. <el-button type="primary" size="small">&nbsp;查询&nbsp;</el-button>
  27. </nobr>
  28. </td>
  29. </tr>
  30. </thead>
  31. <tbody v-show="setShow">
  32. <tr>
  33. <td><nobr>设备厂家</nobr></td>
  34. <td><el-input size="mini"></el-input></td>
  35. <td></td>
  36. <td></td>
  37. <td></td>
  38. <td></td>
  39. <td></td>
  40. </tr>
  41. </tbody>
  42. </table>
  43. </div>
  44. <!-- 头部信息 End -->
  45. <!-- 列表 Start -->
  46. <div class="c-title">
  47. <span>设备信息表</span>
  48. <p class="fr">
  49. <a @click="handleShowEditDialog"><i class="el-icon-plus el-icon--left"></i>新增</a>
  50. <a><i class="el-icon-download el-icon--left"></i>导入</a>
  51. <a @click="showExport"><i class="el-icon-upload2 el-icon--left"></i>导出</a>
  52. </p>
  53. </div>
  54. <div class="c-search-table">
  55. <!-- 分页 Start -->
  56. <el-table :data="list.slice((currentPage-1)*pagesize,currentPage*pagesize)">
  57. <el-table-column type="index" label="序号"></el-table-column>
  58. <el-table-column prop="name" label="设备名称"></el-table-column>
  59. <el-table-column prop="net" label="设备名称"></el-table-column>
  60. <el-table-column prop="system" label="设备名称"></el-table-column>
  61. <el-table-column prop="title" label="设备名称"></el-table-column>
  62. <el-table-column prop="vender" label="设备名称"></el-table-column>
  63. <el-table-column prop="type" label="设备名称"></el-table-column>
  64. <el-table-column prop="line" label="设备名称"></el-table-column>
  65. <el-table-column prop="shop" label="设备名称"></el-table-column>
  66. <el-table-column label="查看">
  67. <template slot-scope="scope">
  68. <div>
  69. <a class="show-underline" href="#">查看</a>
  70. <a class="show-underline" href="#" @click="handleShowEditDialog">编辑</a>
  71. <a class="show-underline" href="#" @click="handleShowTips">删除</a>
  72. </div>
  73. </template>
  74. </el-table-column>
  75. </el-table>
  76. <div class="t-center mt-15">
  77. <el-pagination
  78. background
  79. @size-change="handleSizeChange"
  80. @current-change="handleCurrentChange"
  81. :current-page="currentPage"
  82. :page-sizes="[5, 10, 20, 50]"
  83. :page-size="pagesize"
  84. layout="total, sizes, prev, pager, next, jumper"
  85. prev-text="上一页"
  86. next-text="下一页"
  87. :total="list.length">
  88. </el-pagination>
  89. </div>
  90. <!-- 分页 End -->
  91. </div>
  92. <!-- 列表 End -->
  93. </div>
  94. </template>
  95. <script>
  96. let Mock = require('mockjs'); // 测试数据
  97. export default {
  98. data () {
  99. return {
  100. currentPage: 1,
  101. pagesize: 5,
  102. list: [],
  103. setShow: false,
  104. setShowMsg: '更多查询条件',
  105. styleArrow: true,
  106. setContent: '',
  107. setTitle: ''
  108. };
  109. },
  110. computed: {
  111. },
  112. methods: {
  113. getlist () {
  114. let data = {
  115. 'list|15': [
  116. {
  117. 'id': '@guid',
  118. 'name': '@cword(3)',
  119. 'net': '@cword(3)',
  120. 'system': '@cword(6)',
  121. 'title': '@cword(5)',
  122. 'vender': '@city()' + '@cword(2)' + '有限公司',
  123. 'type': /[A-Z]{2,5}-\d{5,7}/,
  124. 'line': '@cword(2,3)' + '线',
  125. 'shop': '@cword(3,5)' + '通信车间'
  126. }
  127. ]
  128. };
  129. let result = Mock.mock(data);
  130. this.list = result.list;
  131. },
  132. handleSizeChange(size) {
  133. this.pagesize = size;
  134. console.log(`每页 ${size} 条`);
  135. },
  136. handleCurrentChange(currentPage) {
  137. this.currentPage = currentPage;
  138. console.log(`当前页: ${currentPage}`);
  139. },
  140. handleShowEditDialog () { // 编辑
  141. this.$router.push({
  142. path: '/edit'
  143. });
  144. },
  145. handleShowTips () { // 删除
  146. this.setContent = '删除后数据将无法恢复, 是否继续?';
  147. this.setTitle = '删除';
  148. this.$confirm(this.setContent, this.setTitle, {
  149. confirmButtonText: '确定',
  150. cancelButtonText: '取消',
  151. type: 'warning'
  152. }).then(() => {
  153. this.$message({
  154. type: 'success',
  155. showClose: true,
  156. message: '恭喜您,' + this.setTitle + '成功!'
  157. });
  158. }).catch(() => {
  159. this.$message({
  160. type: 'info',
  161. message: '已取消'
  162. });
  163. });
  164. },
  165. showSeach () { // 更多查询条件切换
  166. const msg = this.setShowMsg;
  167. if (msg === '更多查询条件') {
  168. this.setShow = true;
  169. this.setShowMsg = '收起';
  170. } else {
  171. this.setShow = false;
  172. this.setShowMsg = '更多查询条件';
  173. }
  174. },
  175. showExport () { // 导出
  176. this.$router.push({
  177. path: '/'
  178. });
  179. }
  180. },
  181. mounted (){
  182. this.getlist();
  183. }
  184. };
  185. </script>
  186. <style lang="less" scoped>
  187. @import "./deviceInfo.less";
  188. </style>

搞定收工!

vue+mock.js+element-ui模拟数据搞定分页的更多相关文章

  1. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

        方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...

  2. 【Mock.js】前端模拟假数据,不用在手拼了

    [Mock.js]前端模拟假数据,不用在手拼了:https://www.jianshu.com/p/8579b703a4c1

  3. 微信小程序 + mock.js 实现后台模拟及调试

    一.创建小程序项目 mock.js 从 https://github.com/nuysoft/Mock/blob/refactoring/dist/mock.js 下载 api.js:配置模拟数据和后 ...

  4. Vue+Mock.js模拟登录和表格的增删改查

    有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...

  5. vue.js+element ui Table+spring boot增删改查

    小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...

  6. vue项目使用element ui的Checkbox

    最近使用到element ui的下拉多选框Checkbox Checkbox用法可参考与于 http://element.eleme.io/#/zh-CN/component/checkbox Che ...

  7. vue项目用nodejs实现模拟数据方法

    1)在项目根目录(如demo)中创建一个文件夹,如base,将项目中所有的前端文件全部放到base文件夹中,此时项目demo下只有一个文件夹base 2)通过cmd进入命令窗口,直接执行npm ins ...

  8. 来,我们手写一个简易版的mock.js吧(模拟fetch && Ajax请求)

    预期的mock的使用方式 首先我们从使用的角度出发,思考编码过程 M1. 通过配置文件配置url和response M2. 自动检测环境为开发环境时启动Mock.js M3. mock代码能直接覆盖g ...

  9. json-server 和mock.js生成大量json数据

    JSON-server和mock.jsmock文件夹下 db.json db.jsjson-sever使用 安装:npm install json-server -g/mock 目录下执行json-s ...

随机推荐

  1. opencv学习笔记(六)---图像梯度

    图像梯度的算法有很多方法:sabel算子,scharr算子,laplacian算子,sanny边缘检测(下个随笔)... 这些算子的原理可参考:https://blog.csdn.net/poem_q ...

  2. if __name__ == '__main__'是什么意思?如何理解?看到一个很有用的解答

    小明.py 朋友眼中你是小明(__name__ == '小明'), 你自己眼中你是你自己(__name__ == '__main__'), 你编程很好, 朋友调你去帮他写程序(import 小明, 这 ...

  3. ScrollView-电影列表

    ScrollView 的使用import React, { Component } from 'react';import { Platform, StyleSheet, Text, View, Sc ...

  4. CodeForces - 645D Robot Rapping Results Report(拓扑排序)

    While Farmer John rebuilds his farm in an unfamiliar portion of Bovinia, Bessie is out trying some a ...

  5. C++_类入门5-智能指针模板类

    智能指针是行为类似于指针的类对象,但这种对象还有其他功能. 本节介绍三个可帮助管理动态内存分配的智能指针模板(auto_ptr.unique_ptr和shared_ptr). void remodel ...

  6. [水题AC乐] - 贪心

    HDU - 1009 https://paste.ubuntu.com/p/rgSYpSKkwW/ POJ - 1017 麻烦的模拟 贪心 题意就是用尽量少的66h箱子装nnh的物品,贪心策略很明显, ...

  7. [转] DOS命令for用法详解

    [From] http://www.jb51.net/article/31284.htm for帮助文档 对一组文件中的每一个文件执行某个特定命令. FOR %variable IN (set) DO ...

  8. 破解myBase试用到期

    请保持你的myBase7是关闭的 1.找到myBase7的安装目录(myBase.exe的目录): 2.右键编辑打开myBase.ini: 3.找到 App.UserLic.FirstUseOn,并在 ...

  9. TOJ 1840 Jack Straws

    Description In the game of Jack Straws, a number of plastic or wooden "straws" are dumped ...

  10. java并发编程 - Exexctor简介

    Exexctor 常用类关系图 Executor 接口 Excutor 接口定义如下 ExecutorService ExecutorService 是一个比 Executor 使用更广泛的子类接口, ...