Vue.js实现可编辑的表格

2020-06-13 06:04:09易采站长站整理

<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>