只有最后一個商店下面的商品勾選時,可以響應到總價
前面的商店,勾選不起作用
<template>
<div class="app-cart">
<header class="cart-header">購物車</header>
<main class="cart-main">
<div v-for="item1 in cartData" :key="item1.id" class="main-item">
<div class="item-top">
<input type="checkbox" v-model="item1.checked" @change="selectItem1(item1)">
<span>{{item1.shop_name}}</span>
</div>
<div class="item-middle">
<div v-for="(item2,index2) in item1.goodsList" :key="item2.id" class="middle-list">
<div class="list-left">
<input type="checkbox" @change="selectItem2(item1)" v-model="item2.checked">
</div>
<div class="list-center">
<img v-lazy="IMAGESURL + item2.goods_img">
</div>
<div class="list-right">
<p>{{item2.goods_name}}</p>
<div>
<span>單價:{{item2.goods_price}}</span>
<span>數(shù)量:{{item2.cart_goods_number}}</span>
</div>
<p>總價:{{item2.goods_price*item2.cart_goods_number}}</p>
</div>
</div>
</div>
</div>
</main>
<footer class="cart-footer">
<div class="footer-left">
<input type="checkbox" v-model="checkAll" @change="selectAll">
<p>全選</p>
</div>
<div class="footer-center">
合計:{{allPrice2}}
</div>
<div class="footer-right">
結算
</div>
</footer>
</div>
</template>
<script>
export default {
data() {
return {
cc: 0,
cartData:[],
allPrice: 0,
checkAll: false,
dd: 0,
arr1: []
};
},
computed: {
allPrice2() {
let allPrice2Number = 0;
let checkArr = [];
this.cartData.forEach(item1 => {
checkArr = item1.goodsList.filter(item2 => item2.checked == true);
});
console.log(checkArr);
checkArr.forEach(item => {
allPrice2Number += item.cart_goods_number * item.goods_price;
});
return allPrice2Number;
}
},
methods: {
// 全選
selectAll() {
this.cartData.forEach(item => {
item.checked = this.checkAll;
item.goodsList.forEach(item => {
item.checked = this.checkAll;
});
});
if (this.checkAll == false) {
this.allPrice = 0;
}
},
// 第一層選擇
selectItem1(item1) {
item1.goodsList.forEach(i => {
i.checked = item1.checked;
});
},
// 第二層選擇
selectItem2(item1) {
let item1Price = 0;
let lengths = item1.goodsList.length;
let checkeds = item1.goodsList.filter(i => {
return i.checked == true;
});
if (lengths == checkeds.length) {
item1.checked = true;
} else {
item1.checked = false;
}
// checkeds.forEach(item => {
// this.allPrice += item.goods_price * item.cart_goods_number;
// });
},
// 請求數(shù)據(jù)
getcartData() {
let userId = localStorage.getItem("userInfoId");
axios
.get(this.URL + "cartSelectGroupByUserId/" + userId)
.then(response => {
this.cartData = response.data.data;
})
.catch(error => {
console.log(error);
});
}
},
created() {
this.getcartData();
}
};
</script>
cartData: [
{
shop_id: 4,
shop_name: "honor之家",
checked: false,
goodsList: [
{
cart_goods_number: 3,
goods_name: "honor7x",
goods_img: "honor7x.png",
goods_price: 1299,
goods_id: 3,
checked: false
},
{
cart_goods_number: 2,
goods_name: "honor6x",
goods_img: "honor6x.png",
goods_price: 1199,
goods_id: 4,
checked: false
},
{
cart_goods_number: 5,
goods_name: "honor5x",
goods_img: "honor5x.png",
goods_price: 1099,
goods_id: 5,
checked: false
}
]
},
{
shop_id: 1,
shop_name: "iPhone之家",
checked: false,
goodsList: [
{
cart_goods_number: 1,
goods_name: "iPhonex",
goods_img: "iPhonex.png",
goods_price: 8888,
goods_id: 1,
checked: false
}
]
}
],
<style>
* {
padding: 0;
margin: 0;
}
.app-cart {
padding-bottom: 100px;
background-color: #f5f5f5;
}
.app-cart .cart-header {
height: 40px;
line-height: 40px;
text-align: center;
border-bottom: 1px solid #ccc;
}
.cart-main .main-item {
margin-bottom: 10px;
background-color: #fff;
box-sizing: border-box;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.cart-main .main-item .item-top {
display: flex;
align-items: center;
height: 40px;
box-sizing: border-box;
border-bottom: 1px solid #ccc;
}
.cart-main .main-item .item-top input {
flex: 0 0 50px;
width: 50px;
}
.cart-main .main-item .item-top span {
flex: 1;
}
.cart-main .main-item .item-middle .middle-list {
display: flex;
box-sizing: border-box;
border-bottom: 1px solid #ccc;
}
.cart-main .main-item .item-middle .middle-list .list-left {
flex: 0 0 50px;
width: 50px;
text-align: center;
}
.cart-main .main-item .item-middle .middle-list .list-center {
flex: 0 0 100px;
width: 100px;
}
.cart-main .main-item .item-middle .middle-list .list-right {
display: flex;
flex-direction: column;
flex: 1;
}
.cart-main .main-item .item-footer {
display: flex;
align-items: center;
justify-content: space-between;
height: 40px;
border-top: 1px solid #ccc;
}
.cart-footer {
position: fixed;
left: 0;
bottom: 60px;
width: 100%;
height: 50px;
display: flex;
background-color: #fff;
box-sizing: border-box;
border-top: 1px solid #ccc;
}
.cart-footer .footer-left {
flex: 0 0 50px;
width: 50px;
display: flex;
align-items: center;
margin-left: 20px;
}
.cart-footer .footer-center {
flex: 1;
text-align: right;
}
.cart-footer .footer-right {
flex: 0 0 100px;
width: 100px;
background-color: #ff0000;
color: #fff;
}
</style>allPrice2() {
let allPrice2Number = 0;
let checkArr = [];
this.cartData.forEach(item1 => {
// 這里
checkArr = checkArr.concat(item1.goodsList.filter(item2 => item2.checked == true));
});
console.log(checkArr);
checkArr.forEach(item => {
allPrice2Number += item.cart_goods_number * item.goods_price;
});
return allPrice2Number;
}allPrice2() {
let allPrice2Number = 0;
let checkArr = [];
this.cartData.forEach(item1 => {
checkArr = [...checkArr, ...item1.goodsList.filter(item2 => {return item2.checked})]
});//這里的遍歷,你沒有把每次遍歷的值累加,所以造成了checkArr這個數(shù)組只會記錄最后一次的遍歷結果。
checkArr.forEach(item => {
allPrice2Number += item.cart_goods_number * item.goods_price;
});
return allPrice2Number;
}北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產業(yè)為響應國家深化產教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經理從事移動互聯(lián)網管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經理職務負責iOS教學及管理工作。
浪潮集團項目經理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網頁制作和網頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經驗。曾經歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。