vue2.x+elelmentUI@3.5 表格
<template>
<section>
<el-row>
<el-col :span="16">
<!--表单-->
<h3>{{setedList.length}}</h3>
<table cellspacing="0" style="width:100%;" class="table-my">
<thead>
<tr>
<th>
<el-checkbox v-model="checkedAll" @change="handleCheckedAll">序号</el-checkbox>
</th>
<th>日期</th>
<th>姓名</th>
<th>地址</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,number) in tableData" :key="number" :class="{checked:item.checked}">
<td>
<el-checkbox v-model="item.checked" @change="handleChecked(item)">
{{number+1}}
</el-checkbox> </td>
<td>{{item.date}}</td>
<td>{{item.name}}</td>
<td>{{item.address}}</td>
</tr> </tbody>
</table> <div class="block">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="5" layout="prev, pager, next, jumper" :total="17">
</el-pagination>
</div>
</el-col>
<el-col :span="8">
<ul style="background:#eee;">
<!-- <li v-for="(e,i) in setedList" :key="i"></li> -->
<li v-for="(e,i) in setedList" :key="i" style="heighet:90px;background:skyblue;border:1px solid red">
<p>{{i+1}}</p>
<p style="padding:5px;"><input type="text" v-model="e.name" style="padding:5px;"></p>
<p style="padding:5px;"><input type="text" v-model="e.address" style="padding:5px;"></p>
<p style="padding:5px;"><input type="text" v-model="e.date" style="padding:5px;"></p>
</li>
</ul>
</el-col>
</el-row>
</section>
</template>
<script type="text/ecmascript-6">
const ERR_OK = "000";
export default {
data() {
return {
checkedAll: false,
checked: false,
formInline: {
user: {
name: '',
date: '',
address: [],
place: ''
}
},
tableData: [],
options: [],
places: [],
dialogFormVisible: false,
editLoading: false,
form: {
name: '',
address: '',
date: '',
},
currentPage: 1,
table_index: 999,
setedList: [],
list: []
};
},
created() {
this.$http.get('/api/getTable').then((response) => {
response = response.data;
if (response.code === ERR_OK) {
// this.tableData = response.datas;
var datas = response.datas; for (var index = 0; index < datas.length; index++) { datas[index].checked = false;
// console.log(datas[index].checked)
}
this.tableData = datas; }
});
this.$http.get('/api/getOptions').then((response) => {
response = response.data;
if (response.code === ERR_OK) {
this.options = response.datas;
this.places = response.places;
}
});
},
methods: { handleCheckedAll() {//-----------全选
var temp = []
if (this.checkedAll) {
this.list = [];
for (var i = 0; i < this.tableData.length; i++) {
this.tableData[i].checked = true;
temp.push(this.tableData[i]);
}
this.list = temp;
for (var j = 0; j < temp.length; j++) {
for (var k = 0; k < this.setedList.length; k++) {
if (temp[j].name == this.setedList[k].name) {
temp.splice(j, 1)
}
} }
for (var l = 0; l < temp.length; l++) {
this.setedList.push(temp[l]);
} } else {
this.list = [];
for (var i = 0; i < this.tableData.length; i++) {
this.tableData[i].checked = false;
temp.push(this.tableData[i]);
}
for (var j = 0; j < temp.length; j++) {
for (var k = 0; k < this.setedList.length; k++) {
if (temp[j].name == this.setedList[k].name) {
this.setedList.splice(k, 1)
}
} }
} },
handleChecked(item) {//单选--------------
if (item.checked) {
item.checked = true;
this.setedList.push(item);
} else {
item.checked = false;
if (this.list.length < 2) {
this.list = [];
for (var j = 0; j < this.setedList.length; j++) {
if (item.name == this.setedList[j].name) {
this.setedList.splice(j, 1)
}
} } else { for (var j = 0; j < this.setedList.length; j++) {
if (item.name == this.setedList[j].name) {
this.setedList.splice(j, 1)
}
} }
} },
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
handleCurrentChange(val) {
this.currentPage = val;
console.log(`当前页: ${val}`);
this.checkedAll = false;
console.log(this.list);
this.$http.get('/api/getTable').then((response) => {
response = response.data;
if (response.code === ERR_OK) {
var datas = response.datas;
for (var index = 0; index < datas.length; index++) { datas[index].checked = false; }
this.tableData = datas; }
});
}, }
};
</script>
<style lang="less" scoped>
.table-my {
border-collapse: collapse;
margin: 0 auto;
width: 500px;
th,
td {
padding: 0;
border: 1px solid #c0c4cc;
font: 20px/50px "微软雅黑";
text-align: center;
}
.checked{
background: skyblue;
}
}
</style>
vue2.x+elelmentUI@3.5 表格的更多相关文章
- vue2.0 + element ui 实现表格穿梭框
element ui 官网里介绍了穿梭框(Transfer),但在实际使用过程中,会出现一些问题: 1.穿梭框里能放置的内容太少,不能满足复杂的业务需求. 2.当选项过多时,穿梭框很难实现分页,左右两 ...
- 《Vue2.0 实践揭秘》终于出版啦!
不知不觉间在园子开博都两年多了,最近一些园友问最近去哪了为何都没有新的文章了.最近确实发生了很多的事,一是忙工作二就是忙着写书.这还得多些园子的小编,自两年前发表的"架构师修炼"系 ...
- Vue2.0+ElementUI+PageHelper实现的表格分页
Vue2.0+ElementUI+PageHelper实现的表格分页 前言 最近做了一些前端的项目,要对表格进行一些分页显示.表格分页的方法有很多,从宏观上来说分为物理分页和逻辑分页,由于逻辑分页(即 ...
- vue2.0 + Element UI + axios实现表格分页
注:本文分页组件用原生 html + css 实现,element-ui里有专门的分页组件可以不用自己写,详情见另一篇博客:https://www.cnblogs.com/zdd2017/p/1115 ...
- Vue2.0---将页面中表格数据导出excel
这不是教程,是随笔. 项目中将后台返回的数据v-for到表格中,然后需要将这个表格导出为EXCEL 只说怎么做. 一.需要安装三个依赖: npm install -S file-saver xlsx ...
- vue2.0+Element UI 表格前端分页和后端分页
之前写过一篇博客,当时对element ui框架还不太了解,分页组件用 html + css 自己写的,比较麻烦,而且只提到了后端分页 (见 https://www.cnblogs.com/zdd20 ...
- vue2.0 导出Excel表格数据
1.安装三个依赖包 npm install -S file-saver npm install -S xlsx npm install -D script-loader 2.在项目中创建一个文件夹(比 ...
- Vue2.0 + ElementUI的+ PageHelper实现的表格分页
参考博客:http://blog.csdn.net/u012907049/article/details/70237457 借鉴1.controller层编写 2.vue中,axios的写法(总页数等 ...
- Vue2.0+ElementUI实现表格翻页的实例
参考地址: https://www.cnblogs.com/zhouyifeng/p/7706815.html
随机推荐
- Nginx教程(7) 正向代理与反向代理【总结】 (转)
1.前言 最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习.而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需要在浏览器中配置代理的地址.我只知道 ...
- Nginx教程(四) Location配置与ReWrite语法 (转)
Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {… } ...
- postman常用公共函数
常用公共函数: 1).判断是否超时(assertNotTimeout):var hasResponse=postman.getResponseHeader('Content-Type')?true:f ...
- iOS Method Swizzling和分类的妙用AppDelegate轻量化处理
http://www.cocoachina.com/ios/20151117/14167.html 简介 在iOS工程中,AppDelegate往往会有上千行,甚至几千行,这样就会给维护AppDele ...
- bzoj3522 Hotel
Description 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房(间).三个妹子住的房间要互不相同(否则要打起来了 ...
- spoj SUBLEX (Lexicographical Substring Search) RE的欢迎来看看
SPOJ.com - Problem SUBLEX 这么裸的一个SAM,放在了死破OJ上面就是个坑. 注意用SAM做的时候输出要用一个数组存下来,然后再puts,不然一个一个字符输出会更慢. 还有一个 ...
- Oracle(ERROR SP2-0642)
阅读目录 报错信息 解决方法 回到顶部 报错信息 ERROR SP2-0642 回到顶部 解决方法 [oracle@oradb]$ sqlplus / as sysdba SP2-0642: SQL* ...
- 11-1 css属性选择器
一 基础选择器 标签选择器:选择的标签的‘共性’,而不是特性 div{}.ul{}.ol{}.form{} 类选择器:.box{} id选择器:#box{} 只能选择器的特性,主要是为了js *通配符 ...
- 20-2 orm分组和聚合以及在项目中执行的一些方法
一 orm分组和聚合 参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 1 表结构: # 第一张表 class Employee1(models ...
- OracleSpatial函数实例
Oracle Spatial操作geometry方法 Oracle Spatial中SDO_GEOMETRY类型: CREATE TYPE SDO_GEOMETRY AS OBJECT( SDO_ ...