效果展示

点击全选被全部勾选,再点击则取消勾选(下方还有取消按钮,实现同样功能)。

也可以实现点击的书籍被勾选,再次点击则取消勾选

在功能实现过程中主要是对v-show、v-if、v-else等的灵活运用(自认为比较麻烦,请求大佬指点更加简便的方法)

页面代码如下:

1.首先利用li对booklist列表中的各项进行循环,并对每个li绑定点击事件(@click="checkimg(item, index)"),用来实现点击勾选功能。

2.因为要实现全选或者点击勾选。所以在红色对勾图片设置了两个显示条件(v-if="item.checkit || isCheck")。其中isCheck是全选时的绑定时间,是一个全局的变量。checkit是对应设置的每一个li的点击事件,对应每一个对象的变量。

<ul><liv-show="isdelete"v-for="(item, index) in booklist":key="index"@click="checkimg(item, index)"><img src="图片地址" alt=""/>//点击  编辑 才会显示位于书封面右下角的对勾图标,未演示此功能<div v-show="!exit">//被选中时的红色对勾<img v-if="item.checkit || isCheck" src="@/assets/image/rred.png" alt="" />//未被选中时的灰色对勾<img v-else src="@/assets/image/rgrey.png" alt="" /></div><p>{{ item.name }}</p><p class="process">{{ item.progress }}</p></li>
</ul>

变量设置如下:

1.在未点击时均设置为false。显示的都是为灰色的对勾。

export default {data() {return {//全局部分代码isCheck: false,booklist: [//对象变量设置{name: "关键对话",progress: "2章/15章",checkit: false,},{name: "沟通力",progress: "未读过",checkit: false,},{name: "聪明人是怎样沟通的",progress: "1章/12章",checkit: false,},],}}
}

方法代码部分:

1.实现起来很简单,但是一开始只想到被点击的变红,所以只传回了index参数,所以怎么都无法实现,后来改变想法传回了item得以解决。希望大家看到可以少走弯路,节约时间。(毕竟35岁就要被淘汰,没那么时间浪费......)

methods: {
//对对象的点击绑定的点击事件checkimg(val) {let _num = 0;//方法可以传回两个参数,val为对象本身,index为对象对应位置(此操作用不到)//因为checkit为对象里的变量,需要使用val.checkit才能实现改变val.checkit = !val.checkit;//用来实现点击图片,显示被选中的书的数量this.booklist.forEach((val) => {if (val.checkit) {_num = _num + 1;}});this.num = _num;},
//对于点击全选的点击事件checkall() {//点击时使isCheck取反,因为isCheck为全局变量,所以均会显示为点勾选this.isCheck = !this.isCheck;//此段实现的是点击后会显示对应被勾选的数字,例子中仅有三本书,这里直接写成3if (this.isCheck) {this.num = 3;} else {this.num = 0;}},
}

希望能对大家有一点点帮助,这两天写项目总结的小经验。会继续分享心得,总结经验。争取早日进大厂,成大牛!

前端小白望大家多多指点!!!

li通过绑定点击事件实现类似购物车功能(全选,点击勾选、取消等),此例为模仿移动端小说书架界面实现勾选取消功能展示,有些麻烦但好理解(前端xb要努力变强)相关推荐

  1. Jquery为DIV添加点击事件,Jquery为a标签超链接添加点击事件

    Js代码   <div>1</div> <div>2</div> <div>3</div> <div>4</d ...

  2. 地图的legend点击事件_3D地图的定时高亮和点击事件

    技术选型 文章所选技术栈:vue.echarts.echarts-gl 安装Vue和echarts 1.安装echarts和echarts-al npm i echarts --save npm i ...

  3. android html图片点击事件,TextView加载html图片并点击放大

    实际上android中的textview是提供了加载html代码的功能的,使用的方法也很简单 textView.setText(Html.fromHtml("html",null, ...

  4. android 表格控件点击事件,Android零基础入门|RecyclerView点击事件处理

    原标题:Android零基础入门|RecyclerView点击事件处理 前面两期学习了RecyclerView的简单使用,并为其item添加了分割线.在实际运用中,无论是List还是Grid效果,基本 ...

  5. android字符串点击事件,Android匹配字符串高亮并设置点击事件

    public class TextRichUtil { public interface RichClickLisentner { void onClick(); } /** * 获取高亮字符串 * ...

  6. android button自动点击事件,Android Button按钮的四种点击事件

    本文实例为大家分享了安卓Button按钮的四种点击事件,供大家参考,具体内容如下 第一种:内部类实现 1.xml里面先设置Button属性 android:id="+@id/button1& ...

  7. echarts 地图去除点击事件_echarts 取消图例上的点击事件和图表上鼠标滑过点击事件...

    备注:标黄的代码是起作用的代码,其他的不需要借鉴!!! //取消 鼠标滑过的提示框 tooltip : { trigger: 'item', show:false, formatter: " ...

  8. 按钮默认点击事件(打开页面时按钮默认被点击)

    setTimeout(function() {// IEif(document.all) {document.getElementById("id名").click();}// 其 ...

  9. jquey javascript 绑定点击事件(click事件无反应,因js获取不到当前的点击项)

    问题: 如果DOM元素是动态生成的,在这种情况下为该元素绑定click时间,发现点击事件无效,设置debugger,console.log也没用 解决: juery:为目标元素的父元素,或者是整个文档 ...

最新文章

  1. MySQL数据类型以及元数据的使用
  2. git获取提交记录commit id
  3. a标签跳页传参,以及截取URL参数
  4. 点空白也弹窗口。看我弹
  5. 神策数据多少含金量?PICOOC 有品帮你智能称量
  6. 关于document.write
  7. 同步Android与PC的时间
  8. 7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...
  9. node.js学习之react,redux,react-redux
  10. Spring+Mybatis+MySql+Maven 简单的事务管理案例
  11. GlassFish安装
  12. 机械工程学专业词汇英语翻译
  13. 成长型思维和固定型思维
  14. 微信如何恢复删掉的好友,巧妙添加好友的方法汇总
  15. sqlmap注入——POST检测点方法
  16. MY SQL 数据库库如何下载以及安装
  17. Java实现数据库新增修改防止编码重复功能
  18. velocity页面js引入#foreach遍历list
  19. [C语言]——整型的截断与提升
  20. 点乘 线性代数_线性代数

热门文章

  1. 网上下单的手机流量卡有哪些你不知道的“秘密”?
  2. NPDP是什么?有用吗?
  3. minikube start
  4. 微型计算机核心是主板和内存,2017年计算机一级MSOffice考前试题及答案3
  5. RecyclerView实现上拉加载功能
  6. python实现多元线性拟合、一元多项式拟合、多元多项式拟合
  7. 【IDEA 教程系列第 22 篇】idea 中撤销和反撤销快捷键
  8. 英特尔淘汰迷你电脑,宣布放弃 NUC 业务!
  9. 【开篇有益】敢问路在何方,佛曰路就在脚下
  10. php模拟微信用户打开页面,使用Chrome修改user agent模拟微信内置浏览器