一、我们现在要拿取购物车中选中商品的状态和该商品的所有数据或者id

      <ul v-if="shopList.list.length>0">
<li class="shop-item" v-for="(item, index) in shopList.list" :key="index">
<!-- 图片 -->
<div class="check_wrap" @click="selectAllBtn($event)">
<input class="check" :check=check name="Fruit" type="checkbox" :value=index ref="checks" />
</div>
<div class="icon">
<span>
<img :src="item.img" alt="" v-lazy="item.img">
</span>
</div>
<!-- 主要内容 -->
<div class="content">
<h2>{{item.name}}</h2>
<div class="extra">
<span>UFV {{item.price}}</span>
<span style="text-decoration:line-through">UFV {{item.price_origin}}</span>
</div>
<div class="cartcontrol-wrapper">
<div class="shop_delete" @click="reduce"><img src="../../assets/images/shopCar/-@2x.png" alt=""></div>
<div class="shop_count"><span>{{item.count}}</span></div>
<div class="shop_add" @click="add"><img src="../../assets/images/shopCar/+@2x.png" alt=""></div>
</div>
</div>
</li>
</ul>

1、使用 ref ,给 input 标签加上一个 ref 例如

2、我们可以通过 this,$refs 操作到该标签的dom 拿到input输入框一系列数据或者状态

这里我们选择在点击清空选中商品的按钮这里触发 this.$refs

  

这里将列表中的商品状态全部打印出来 ,我们可以看一下 这三个商品的选中状态

这时候就可以很清晰的看到,三个商品 分别0,1,2  只有第一个选中的商品的checked状态为true其他都为false,那么就可以接下来的操作了

二、我们应该怎么拿到全部呢,这时候可以循环遍历出所有的选中信息,从而拿到一个key(index.item)等等 继续操作

1、这里可以使用到 forEach 怎么使用呢,数组.forEach(element=>{}) 这里的element 就是遍历之后的多行数组,我们可以看一下

value 就是每一个下标值

var checkShops = checkShopList[values].checked
checkShops就是每个商品所选中的状态
可以看到,打印出了每一个状态,第一个为true 其他为false

三、这个时候就要开始拿到选中的商品的id了,也可以拿其他的,这里我通过拿id 进行清除所选的操作

1、可以进行判断商品是否被选中,如果被选中,就拿取选中的id并放入一个数组里面

checkShops 就是每个商品的选中与否的信息,

var checkShops = checkShopList[values].checked  根据下标values遍历
2、如果checkShops为true 就是为选中状态,那么我们就将这些选中的id,加入到goodsids数组中
这里使用到push()方法, 数组.push(数据)  
注意:这里的goodsids 需要在forEach方法外面定义
因为在forEach 循环内部的话,会将每一个数组都遍历出来,每个数组里面且只有一个id数组
 

这里我们可以清楚的看到 点击清楚所选的时候,选中的商品的id已经被放在了一起并且用 ,逗号隔开,这里用逗号隔开是公司项目要求需要 使用逗号隔开是使用 join(',')  数组.join(',')

就可以进行剩下的操作,点击清除所选项目,发送请求携带id等参数完成功能。例如

可以记录并尝试。努力共勉

Vue 获得所选中目标的状态(checked)以及对应目标的数据,并进行相应的操作的更多相关文章

  1. 测试Javacript里的checkbox是否被选中的status和checked的替换方法

    测试Javacript里的checkbox是否被选中的status和checked的替换方法,checkbox.checked和checkbox.status的功能一样,注意checkbox.stat ...

  2. Vue.js 2.x笔记:状态管理Vuex(7)

    1. Vuex简介与安装 1.1 Vuex简介 Vuex是为vue.js应用程序开发的状态管理模式,解决的问题: ◊ 组件之间的传参,多层嵌套组件之间的传参以及各组件之间耦合度过高问题 ◊ 不同状态中 ...

  3. Vue兄弟组件(非父子组件)状态共享与传值

      前言:网上大部分文章写的有点乱,很少有讲得易懂的文章. 所以,我写了篇在我能看得懂的基础上又照顾到大家的文章 =.= 作者:X1aoYE 备注:此文原创,转载请注明~  内容里的<br> ...

  4. Vue 循环为选中的li列表添加效果

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vu ...

  5. 目标决定人生——没有目标就失去一切 (没有目标的奋斗是浪费青春,比如交了钱却不去参加考试、让时间白白溜走。根据目标与定位来选择最合适的企业。人生要算总账)good

    没有目标就失去一切 刚毕业那会儿,幼稚得可笑,老跟同学打电话,明面上聊聊近况,暗地里比较.你要比我工资多一百块,心里特不平衡,凭什么呀,在学校那会儿公认的我比你强.你要带个头衔,而我啥也不是,普通员工 ...

  6. Vue总结第六天:Vuex (全局变量管理~多个页面共享数据)

    Vue总结第六天:Vuex (全局变量管理~多个页面共享数据) 目录 一.Vuex (全局变量管理~~多个页面共享数据) ✿ 更详细的可以看官网:开始 | Vuex 1.什么是Vuex? 2.核心概念 ...

  7. Vue小项目二手书商城:(三)前端渲染数据

    实现内容: axios取到的数据在前端使用(父子组件各自应该怎么使用) 一.简单使用(在哪取在哪用) 1.在App.vue中script中加上data(data专属于当前组件,父子组件传参通过prop ...

  8. 14Flutter StatefulWidget有状态组件、页面上绑定数据、改变页面数据、实现计数器功能、动态列表

    /** * Flutter StatefulWidget有状态组件.页面上绑定数据.改变页面数据 * 在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/Stat ...

  9. 在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作

    最近把微信框架的前端改造一下,在原来基于Bootstrap框架基础上的微信后台管理,增加一套Vue&Element的前端,毕竟Vue的双向绑定开发起来也还是很方便的,而且Element本身也提 ...

随机推荐

  1. ElasticSearch(五):Java操作ElasticSearch执行查询

    package com.gxy.ESChap01; import java.net.InetAddress; import org.elasticsearch.action.search.Search ...

  2. centos7下安装docker(16.1docker跨主机存储--Rex-Ray)

    一.Rex-Ray以standalone进程的方式运行在docker主机上,安装方法很简单:在docker1和docker2上运行如下命令: curl -sSL https://dl.bintray. ...

  3. CF369E Valera and Queries

    嘟嘟嘟 这题刚开始以为是一个简单题,后来越想越不对劲,然后就卡住了. 瞅了一眼网上的题解(真的只瞅了一眼),几个大字令人为之一振:正难则反! 没错,把点看成区间,比如2, 5, 6, 9就是[1, 1 ...

  4. 测试 Flask 应用

    测试 Flask 应用 没有经过测试的东西都是不完整的 这一箴言的起源已经不可考了,尽管他不是完全正确的,但是仍然离真理不远.没有测试过的应用将会使得提高现有代码质量很困难,二不测试应用程序的开发者, ...

  5. SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)

    SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表) swap_join_inputs是针对哈希连接的hint,它的含义 ...

  6. 编程&学习总结格式

    编程&学习总结格式 一.本周完成的作业: 题目1.A乘以B 题目内容描述:看我没骗你吧 -- 这是一道你可以在10秒内完成的题:给定两个绝对值不超过100的整数A和B,输出A乘以B的值. 1) ...

  7. face detection[HR]

    该模型hybrid-resolution model (HR),来自<finding tiny faces>,时间线为2016年12月 0 引言 虽然大家在目标识别上有了较好的进步,可是检 ...

  8. WPF仿网易云音乐系列(二、歌单创建窗口+登录设置模块)

    老衲牺牲午休时间写博客,都快把自己感动了,-_-!! 之前上一篇随笔,我看了下评论,有部分人说WPF已经凉凉了,这个我觉得,这只是一个达到自己目的的工具而已,只要自己能用这个工具,得心应手的做出自己想 ...

  9. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  10. CSS scroll-behavior属性: 滚动框指定滚动行为

    概念 当用户手动导航或者 CSSOM scrolling API 触发滚动操作时,CSS 属性 scroll-behavior 为一个滚动框指定滚动行为,其他任何的滚动,例如那些由于用户行为而产生的滚 ...