vue+mock.js+element-ui模拟数据搞定分页
效果如图:

前提是搭好vue前端框架,npm install mockjs引入mock.js
当前页全部代码如下,其他有关element-ui的引入未提到,仅作参考用
<!-- 用户管理 -->
<template>
<div class="c-main auth userControl">
<!-- 头部信息 Start -->
<div class="c-search">
<!--<button class="c-btn c-primary" @click="handleShowDialog(1)">添加操作员1</button>-->
<table>
<thead>
<tr>
<td><nobr>设备名称</nobr></td>
<td><el-input size="mini"></el-input></td>
<td><nobr>所属线别</nobr></td>
<td><el-input size="mini"></el-input></td>
<td><nobr>所属车间</nobr></td>
<td><el-input size="mini"></el-input></td>
<td>
<nobr>
<a @click="showSeach()">
{{ setShowMsg }}
<i v-bind:class="{
'el-icon-arrow-down el-icon--right': styleArrow ,
'el-icon-arrow-up el-icon--right': setShow}"
></i>
</a>
<span></span>
<el-button type="primary" size="small"> 查询 </el-button>
</nobr>
</td>
</tr>
</thead>
<tbody v-show="setShow">
<tr>
<td><nobr>设备厂家</nobr></td>
<td><el-input size="mini"></el-input></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<!-- 头部信息 End -->
<!-- 列表 Start -->
<div class="c-title">
<span>设备信息表</span>
<p class="fr">
<a @click="handleShowEditDialog"><i class="el-icon-plus el-icon--left"></i>新增</a>
<a><i class="el-icon-download el-icon--left"></i>导入</a>
<a @click="showExport"><i class="el-icon-upload2 el-icon--left"></i>导出</a>
</p>
</div>
<div class="c-search-table">
<!-- 分页 Start -->
<el-table :data="list.slice((currentPage-1)*pagesize,currentPage*pagesize)">
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column prop="name" label="设备名称"></el-table-column>
<el-table-column prop="net" label="设备名称"></el-table-column>
<el-table-column prop="system" label="设备名称"></el-table-column>
<el-table-column prop="title" label="设备名称"></el-table-column>
<el-table-column prop="vender" label="设备名称"></el-table-column>
<el-table-column prop="type" label="设备名称"></el-table-column>
<el-table-column prop="line" label="设备名称"></el-table-column>
<el-table-column prop="shop" label="设备名称"></el-table-column>
<el-table-column label="查看">
<template slot-scope="scope">
<div>
<a class="show-underline" href="#">查看</a>
<a class="show-underline" href="#" @click="handleShowEditDialog">编辑</a>
<a class="show-underline" href="#" @click="handleShowTips">删除</a>
</div>
</template>
</el-table-column>
</el-table>
<div class="t-center mt-15">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[5, 10, 20, 50]"
:page-size="pagesize"
layout="total, sizes, prev, pager, next, jumper"
prev-text="上一页"
next-text="下一页"
:total="list.length">
</el-pagination>
</div>
<!-- 分页 End -->
</div>
<!-- 列表 End -->
</div>
</template>
<script>
let Mock = require('mockjs'); // 测试数据
export default {
data () {
return {
currentPage: 1,
pagesize: 5,
list: [],
setShow: false,
setShowMsg: '更多查询条件',
styleArrow: true,
setContent: '',
setTitle: ''
};
},
computed: {
},
methods: {
getlist () {
let data = {
'list|15': [
{
'id': '@guid',
'name': '@cword(3)',
'net': '@cword(3)',
'system': '@cword(6)',
'title': '@cword(5)',
'vender': '@city()' + '@cword(2)' + '有限公司',
'type': /[A-Z]{2,5}-\d{5,7}/,
'line': '@cword(2,3)' + '线',
'shop': '@cword(3,5)' + '通信车间'
}
]
};
let result = Mock.mock(data);
this.list = result.list;
},
handleSizeChange(size) {
this.pagesize = size;
console.log(`每页 ${size} 条`);
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage;
console.log(`当前页: ${currentPage}`);
},
handleShowEditDialog () { // 编辑
this.$router.push({
path: '/edit'
});
},
handleShowTips () { // 删除
this.setContent = '删除后数据将无法恢复, 是否继续?';
this.setTitle = '删除';
this.$confirm(this.setContent, this.setTitle, {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
showClose: true,
message: '恭喜您,' + this.setTitle + '成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
showSeach () { // 更多查询条件切换
const msg = this.setShowMsg;
if (msg === '更多查询条件') {
this.setShow = true;
this.setShowMsg = '收起';
} else {
this.setShow = false;
this.setShowMsg = '更多查询条件';
}
},
showExport () { // 导出
this.$router.push({
path: '/'
});
}
},
mounted (){
this.getlist();
}
};
</script>
<style lang="less" scoped>
@import "./deviceInfo.less";
</style>
搞定收工!
vue+mock.js+element-ui模拟数据搞定分页的更多相关文章
- 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加 ...
- 【Mock.js】前端模拟假数据,不用在手拼了
[Mock.js]前端模拟假数据,不用在手拼了:https://www.jianshu.com/p/8579b703a4c1
- 微信小程序 + mock.js 实现后台模拟及调试
一.创建小程序项目 mock.js 从 https://github.com/nuysoft/Mock/blob/refactoring/dist/mock.js 下载 api.js:配置模拟数据和后 ...
- Vue+Mock.js模拟登录和表格的增删改查
有三类人不适合此篇文章: "喜欢站在道德制高点的圣母婊" -- 适合去教堂 "无理取闹的键盘侠" -- 国际新闻版块欢迎你去 "有一定基础但又喜欢逼逼 ...
- vue.js+element ui Table+spring boot增删改查
小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...
- vue项目使用element ui的Checkbox
最近使用到element ui的下拉多选框Checkbox Checkbox用法可参考与于 http://element.eleme.io/#/zh-CN/component/checkbox Che ...
- vue项目用nodejs实现模拟数据方法
1)在项目根目录(如demo)中创建一个文件夹,如base,将项目中所有的前端文件全部放到base文件夹中,此时项目demo下只有一个文件夹base 2)通过cmd进入命令窗口,直接执行npm ins ...
- 来,我们手写一个简易版的mock.js吧(模拟fetch && Ajax请求)
预期的mock的使用方式 首先我们从使用的角度出发,思考编码过程 M1. 通过配置文件配置url和response M2. 自动检测环境为开发环境时启动Mock.js M3. mock代码能直接覆盖g ...
- json-server 和mock.js生成大量json数据
JSON-server和mock.jsmock文件夹下 db.json db.jsjson-sever使用 安装:npm install json-server -g/mock 目录下执行json-s ...
随机推荐
- ajax beforeSend中无效果
asnyc:false 与beforesend 同时使用 无效果
- Spring学习笔记(二)——Spring相关配置&属性注入&Junit整合
一.Spring的相关配置 1.1 Bean元素 class属性:被管理对象的完整类名 name属性:给Bean起个名字,能重复,能使用特殊字符.后来属性 id属性:给Bean起个名字,不能重复,不能 ...
- 权限管理系统源码分析(ASP.NET MVC 4.0 + easyui + EF6.0 + MYSQL/MSSQLSERVER +微软企业库5.0+日志绶存)
系统采用最先进技术开发: (ASP.NET MVC 4.0 + easyui + EF6.0 + MYSQL/MSSQLSERVER +微软企业库5.0+日志绶存) 大家可以加我QQ讨论 309159 ...
- Just a Hook(线段树区间修改值)-------------蓝桥备战系列
In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroes. T ...
- 网络寻路(思维+vector的应用)-----------蓝桥备战系列
标题:网络寻路 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少 ...
- apche 配置
http://www.tootoogo.org/wordpress/?p=230 apache的配置由httpd.conf 文件配置. 1.基本配置 ServerRoot "/mnt/sof ...
- Djang视图层
视图 1.什么是视图 视图就是Django项目下的view.py,它的内部是一系列的函数或者是类,用来专门处理客户端访问请求并且返回相应的数据,相当于一个中央处理系统. 2.具体视图实例 3.CBV和 ...
- 使用 PuTTY 时遇到错误:“expected key exchange group packet from server”
情况 使用 PuTTY 通过 SSH 访问 ProxySG 或 Advanced Secure Gateway (ASG) 时,您会看到如下错误:"expected key exchange ...
- method reference
import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util ...
- Maven---pom.xml 详解(转)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...