用Vue.js实现全选与全不选删除功能
2017-10-16 09:26
1126 查看
这是实现全选与全不选逻辑的代码,大家只要给相应的控件再加上删除逻辑就完成了全选与选不选、单选等删除功能了;这段代码经过我很多次强暴,是可以用的。
<template>
<div id="hello">
<ol>
<li>
<span><input type="checkbox" v-model="selectAll"></th></span>
<span align="left">全选</span>
</li>
<li v-for="answer in answers">
<span>
<!--:value === v-bind:value=""-->
<input type="checkbox" v-model="selected" :value="answer.id" >
</span>
<span>{{ answer.name }}</span>
</li>
</ol>
</div>
</template>
<script>
import Vue from 'vue'
export default {
name: 'hello',
data:function() {
return{
answers: [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" },
{ "id": 3, "name": "C" },
{ "id": 4, "name": "D" }
],
selected : []
} },
computed: {
selectAll: {
get: function () {//因为在set方法中改变了全局变量selected,所以get方法会被调用
console.log("getgetget");
console.log("this.answers ? ...="+this.answers ? this.selected.length == this.answers.length : false);
console.log("this.answers="+this.answers);
console.log("this.selected.length == this.answers.length:"+this.selected.length == this.answers.length);
return this.answers ? this.selected.length == this.answers.length : false
},
set: function (value) {//点击checkbox会自动调用set方法
console.log("setsetset");
var selected = [];
console.log("value="+value);
if (value) {
this.answers.forEach(function (user) {
console.log("user="+user);
console.log("user.value="+user.value);
console.log("user.id"+user.id);
selected.push(user.id);
});
}
this.selected = selected;
}
},
selectAll2:{
get:function(){
console.log("get");
},
set:function(value){
console.log("value"+value);
}
}
}
}
</script>
<style>
</style>
<template>
<div id="hello">
<ol>
<li>
<span><input type="checkbox" v-model="selectAll"></th></span>
<span align="left">全选</span>
</li>
<li v-for="answer in answers">
<span>
<!--:value === v-bind:value=""-->
<input type="checkbox" v-model="selected" :value="answer.id" >
</span>
<span>{{ answer.name }}</span>
</li>
</ol>
</div>
</template>
<script>
import Vue from 'vue'
export default {
name: 'hello',
data:function() {
return{
answers: [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" },
{ "id": 3, "name": "C" },
{ "id": 4, "name": "D" }
],
selected : []
} },
computed: {
selectAll: {
get: function () {//因为在set方法中改变了全局变量selected,所以get方法会被调用
console.log("getgetget");
console.log("this.answers ? ...="+this.answers ? this.selected.length == this.answers.length : false);
console.log("this.answers="+this.answers);
console.log("this.selected.length == this.answers.length:"+this.selected.length == this.answers.length);
return this.answers ? this.selected.length == this.answers.length : false
},
set: function (value) {//点击checkbox会自动调用set方法
console.log("setsetset");
var selected = [];
console.log("value="+value);
if (value) {
this.answers.forEach(function (user) {
console.log("user="+user);
console.log("user.value="+user.value);
console.log("user.id"+user.id);
selected.push(user.id);
});
}
this.selected = selected;
}
},
selectAll2:{
get:function(){
console.log("get");
},
set:function(value){
console.log("value"+value);
}
}
}
}
</script>
<style>
</style>
相关文章推荐
- 使用vue.js实现checkbox的全选和多个的删除功能
- 使用vue.js实现checkbox的全选和多个的删除功能
- Vue.js实现一个todo-list的上移,下移,删除功能
- JS实现复选框的全选和批量删除功能
- Vue.js实现一个todo-list的上移下移删除功能
- 使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
- JS实现复选框的全选和批量删除功能
- js实现全选、反选功能(批量删除)
- js 简单实现表单数据的增添,单项删改,多项删除,修改以及全选功能
- js javascript 实现复选框全选功能 删除复选框选中项功能
- 使用vue.js实现checkbox的全选,和部分删除,部分提交
- vue.js--基础 事件结合双向数据绑定实现todolist,增加和删除功能
- JS实现复选框的全选和批量删除功能
- vue.js实现复选框全选和全取消的功能
- 使用vue.js实现checkbox的全选,和多个的删除
- 原生js实现的局部页面打印功能,可以适用vue和jq
- js实现表格的全选,反选,删除所选行以及隔行变色
- (14)JS实现全选功能
- JS小功能(操作Table--动态添加删除表格及数据)实现代码
- vue.js实现简单的购物车功能