这篇文章主要介绍Vue.js怎么实现可编辑的表格,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" >
<style type="text/css">
table tr td{
text-align: center;
}
.btn-info{
margin-left: 5px;
}
.add,.addBox{
margin: 10px 0px 10px 10px;
}
.submit{
margin-left: 172px;
}
/*全删*/
.delAll{
margin-left: 10px;
}
/*新增*/
fieldset{
margin-left: 10px;
}
</style>
</head>
<body>
<div id="app">
<button class="btn btn-primary btn-sm addBox" @click="addBox">添加</button>
<button class="btn btn-sm btn-danger delAll" @click="delAll">批量删除</button>
<table class="table table-bordered" >
<thead>
<tr>
<td><input type="checkbox" @click="allSelect" v-model="checked"></td>
<td>学号</td>
<td>姓名</td>
<td>年纪</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr v-for="person,index in people">
<td><input type="checkbox" v-model="selected" v-bind:value="person.sid"></td>
<td @click="edit(index)" contenteditable="true">{{person.sid}}</td>
<td @click="edit(index)" contenteditable="true">{{person.sname}}</td>
<td @click="edit(index)" contenteditable="true">{{person.sage}}</td>
<td><button @click="del(index)" class="btn btn-danger btn-sm">删除</button><button @click="update(index)" class="btn btn-info btn-sm">编辑</button></td>
</tr>
</tbody>
</table>
<fieldset v-show="seen" >
<legend>新增用户</legend>
<div class="">
<p>
<label>学号:</label>
<input type="text" v-model="newPeople.sid">
</p>
<p>
<label>姓名:</label>
<input type="text" v-model="newPeople.sname">
</p>
<p>
<label>年龄:</label>
<input type="number" v-model="newPeople.sage">
</p>
<p>
<button class="btn btn-success btn-sm submit" @click="add">提交</button>
</p>
</div>
</fieldset>
<!-- 编辑界面 -->
<fieldset v-show="editSeen">
<legend>编辑用户</legend>
<div class="">
<p>
<label>学号:</label>
<input type="text" v-model="editPeople.sid" value="{{sid}}">
</p>
<p>
<label>姓名:</label>
<input type="text" v-model="editPeople.sname" value="{{sname}}">
</p>
<p>
<label>年龄:</label>
<input type="number" v-model="editPeople.sage" value="{{sage}}">
</p>
<p>
<button class="btn btn-success btn-sm submit" @click="editSubmit">提交</button>
</p>
</div>
</fieldset>
</div>
<script type="text/javascript" src="vue.min.js"></script>
<script type="text/javascript">
var data ={
people:[
{'sid':'1043','sname':'张三','sage':18},
{'sid':'2434','sname':'赵六','sage':43},
{'sid':'3424','sname':'李四','sage':42},
{'sid':'1231','sname':'王五','sage':35}
],
newPeople:{
'sid':'','sname':'','sage':''
},
seen:false,
editSeen:false,
checked:false,
selected:[],
editPeople:{
'sid':'','sname':'','sage':''
}
} ;
var app = new Vue({
'el':'#app',
data:data,
methods:{
// 添加
addBox:function(){
this.seen = this.seen == false ? true : false;
},
//删除
del:function(index){
console.log(11);
this.people.splice(index,1);
},
//提交
add:function(){
//插入到people中
this.people.push(this.newPeople);
this.newPeople = {};
this.seen = false
},
//全选
allSelect:function(){
if(this.selected.length != this.people.length){
this.selected = [];
for(var i = 0; i<this.people.length;i++){
this.selected.push(this.people[i].sid);
console.log(this.people[i].sid);
}
}else{
this.selected = [];
}
},
//批量删除
delAll:function(){
for(var j = 0; j< this.selected.length;j++){
for(var i = 0; i< this.people.length; i++){
if(this.selected[j] == this.people[i].sid){
this.people.splice(i,1);
}
}
}
},
//编辑
update:function(index){
this.editSeen = true;
this.editPeople = this.people[index];
},
//编辑后提交
editSubmit:function(){
this.editSeen = false;
}
},
watch:{
"selected":function(){
if(this.selected.length == this.people.length){
this.checked = true;
}else{
this.checked = false;
}
}
}
})
</script>
</body>
</html>
以上是“Vue.js怎么实现可编辑的表格”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。