当前位置: 首页 > news >正文

Vue复选框批量删除示例

Vue复选框批量删除

通过使用v-model指令绑定单个复选框
例如<input type="checkbox" id="checkbox" v-model="checked">
而本次我们要做的示例大致是这样的,首先可以增加内容,然后通过勾选来进行单独或者批量删除,但是在此处就可以进行批量操作。
在这里插入图片描述
通过勾选原神和明日进行批量删除后,发现成功了,那么这就是表名咱们的操作没有问题,接下来就要具体代码实现。
在这里插入图片描述

具体代码实现

body中div,挂载点是zjw,也就是张俊伟的缩写,当然这可以自己写什么都行,只要与Vue里面的el对应

<div id="zjw">
<span>添加一条内容</span>
<input placeholder="输入内容" v-model="value"/>
<button @click="add()">添加</button><ul><li v-for="(item,index) in list" :key="index"><input type="checkbox" v-model="item.c"/><span>{{item.d}}</span><button @click="remove(index)">删除</button></li></ul><button @click="removeAll()">批量删除</button>
</div>
<script>const app=new Vue({el:'#zjw',data(){return{list:[{d:'洗碗',c:false},{d:'擦地',c:false}],value:''}},methods:{add(){adds={d:this.value,c:false}this.list.push(adds)this.value=''},remove(i){if(this.list[i].c==true)this.list.splice(i,1)},removeAll(){for (var i = this.list.length - 1; i >= 0; i--)if (this.list[i].c==true) this.list.splice(i, 1);}}})
</script>

分析环节

添加的框

添加操作用@click绑定了一个add()
在input中的v-model是value

<span>添加一条内容</span>
<input placeholder="输入内容" v-model="value"/>
<button @click="add()">添加</button>

下面是script内容
在data中我是用了对象数组来做,里面用了一个c来放复选的状态false没选,true选
而add中也是每次添加的不止文字,还有false或者true,通过this.list.push(adds)加入到数组队尾

data(){return{list:[{d:'洗碗',c:false},{d:'擦地',c:false}],value:''}},methods:{add(){adds={d:this.value,c:false}this.list.push(adds)this.value=''},

对于单个删除和批量操作

这里通过<li v-for="(item,index) in list" :key="index"> <input type="checkbox" v-model="item.c"/> <span>{{item.d}}</span> <button @click="remove(index)">删除</button></li>
来讲data中的数据显示出来,并且可以删除或者批量
button中,使用v-model="item.c"绑定复选框的状态

 <ul><li v-for="(item,index) in list" :key="index"><input type="checkbox" v-model="item.c"/><span>{{item.d}}</span><button @click="remove(index)">删除</button></li></ul><button @click="removeAll()">批量删除</button>

单个删除就是如下操作,一个简单判断this.list[i].c的值就行
对于多选其实也就是多了一个在数组中的循环
for (var i = this.list.length - 1; i >= 0; i--)就可以完成批量删除了

  remove(i){if(this.list[i].c==true)this.list.splice(i,1)},removeAll(){for (var i = this.list.length - 1; i >= 0; i--)if (this.list[i].c==true) this.list.splice(i, 1);}
http://www.lryc.cn/news/173903.html

相关文章:

  • Docker自定义镜像
  • ardupilot的编译过程
  • Unity中Shader实现模板测试Stencil
  • 多线程与并发
  • 手写call方法
  • 基于FPGA的图像直方图统计实现,包括tb测试文件和MATLAB辅助验证
  • 数据库:Hive转Presto(一)
  • Responder
  • 基于下垂控制的并网逆变器控制MATLAB仿真模型
  • android获取RAM、CPU频率、系统版本、CPU核数
  • 微信小程序python+nodejs+php+springboot+vue 讲座预约系统
  • 嵌入式开发笔记:STM32的外设GPIO知识学习
  • 单片机论文参考:2、基于单片机的病床呼叫系统设计
  • 【C语言】结构体实现位段!位段有何作用?
  • msvcp140为什么会丢失?msvcp140.dll丢失的解决方法
  • Ingress Controller
  • 离线安装 K3S
  • Error系列-常见异常问题解决方案以及系统指令总结
  • c 各种例子
  • Flowable主要子流程介绍
  • 通过插件去除Kotlin混淆去除 @Metadata标记
  • 【docker】容器跟宿主机、其他容器通信
  • nginx重要配置参数
  • Docker 部署 PostgreSQL 服务
  • 【通信误码】python实现-附ChatGPT解析
  • 人与机器只能感知到可以分类的事物?
  • 2023华为杯数学建模竞赛E题
  • AIX360-CEMExplainer: MNIST Example
  • TouchGFX之自定义控件
  • Python中match...case的用法