Vue购物车全选、反选——单选全部选中、全选自动选中以及总价

本文介绍了如何使用Vue.js来实现购物车应用中的全选、反选功能,以及如何动态计算购物车商品的总价。通过模拟购物车数据,渲染页面,判断商品的ischeck状态,并响应全选按钮操作来同步更新所有商品的选中状态。同时,文章还讨论了在数据发生变化时如何自动更新总价,确保代码的复用性。
摘要由CSDN通过智能技术生成

1.模拟购物车数据

data() {
    return {
      //模拟购物车数据arr
      arr:[
        {
          ischeck:false, //默认为false
          name:'篮球',
          price:98
        },
        {
          ischeck:false, //默认为false
          name:'足球',
          price:10
        },
        {
          ischeck:false, //默认为false
          name:'羽毛球',
          price:5
        },
        {
          ischeck:false, //默认为false
          name:'排球',
          price:100
        }
      ]
    };
  },

2.渲染购物车页面

<template>
  <div>
    <!-- 购物车数据渲染 -->
    <div v-for="(item,index) in arr" :key="index">
      <p>
        <input type="checkbox" v-model="item.ischeck">
        {
  {item.name}}  -------价格:{
  {item.price}}</p >
    </div>
    <!-- 底部 -->
    <div cl
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue 中,可以使用 `v-model` 指令绑定数据,通过 `v-for` 指令循环渲染出购物车列表中每个商品的复选框。可以用一个变量 `checkedAll` 来记录是否全选,当其中一个复选框被选中或取消选中时,都要检查是否所有的复选框都被选中,以确定是否需要将 `checkedAll` 设置为 `true` 或 `false`。当点击全选按钮时,则将所有复选框的状态设置为 `checkedAll`。 以下是一个简单的实现示例: ```html <template> <div> <div> <input type="checkbox" v-model="checkedAll" @change="checkAll"> <label>全选</label> </div> <div v-for="(item, index) in cartList" :key="index"> <input type="checkbox" v-model="item.checked" @change="checkOne"> <label>{{ item.name }}</label> </div> </div> </template> <script> export default { data() { return { cartList: [ { name: '商品1', checked: false }, { name: '商品2', checked: false }, { name: '商品3', checked: false } ], checkedAll: false } }, methods: { checkAll() { for (let i = 0; i < this.cartList.length; i++) { this.cartList[i].checked = this.checkedAll } }, checkOne() { let allChecked = true for (let i = 0; i < this.cartList.length; i++) { if (!this.cartList[i].checked) { allChecked = false break } } this.checkedAll = allChecked } } } </script> ``` 在上面的代码中,`cartList` 是一个包含商品信息的数组,每个商品都有一个 `checked` 属性记录是否被选中。在 `checkAll` 方法中,遍历 `cartList` 将每个商品的 `checked` 属性设置为 `checkedAll`。在 `checkOne` 方法中,检查是否所有的商品都被选中,然后将结果赋给 `checkedAll`。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值