1.完成上节课的两个剩余的功能:
点击关闭,对话框关闭;点击遮罩层,对话框关闭
第一个的 click 事件当然也可以调用 closeModal 函数,但是这样的表达式写法会更加的简单方便。所以采用第一种方式。
<a class="btn btn--m btn--red" href="javascript:;" @click="modalConfirm=false">关闭</a>
<div class="md-overlay" v-if="mdShow" @click="closeModal"></div>
2.采用 vue3.0 的新插槽写法
<modal :mdShow="modalConfirm" @close="closeModal">
<template v-slot:message>
<p>请问你你要删除此条元素吗</p>
</template>
<template v-slot:btnGroup>
<a class="btn btn--m" href="javascript:;">确认</a>
<a class="btn btn--m btn--red" href="javascript:;" @click="modalConfirm=false">关闭</a>
</template>
</modal>
这样写的好处是不需要额外的 div,如果多了一层 div 可能会造成 css 样式错位
3.完成删除的功能
理解原理,购物车的商品时从 cartList 中循环渲染出来的,所以只要把对应的 item 在 cartList 中删除即可
//删除购物车的数据
delCart() {
let delItem = this.delItem;
this.cartList.forEach((item, index) => {
if (delItem.productId == item.productId) {
//删除
this.cartList.splice(index, 1);
//关闭弹框
this.modalConfirm = false;
}
})
}
遍历整个 list,如果某个 item 的 id 和 delitem 的 id 是一致的,那么就把他删除。
我发现 Mac 这电脑发热真的很严重啊,就打开一个 webstorm, n 个网站,一个视频,感觉发热很严重。。。emmm
好了好了今天的任务完成了,明天有重要的事情,现在就关闭电脑去忙啦!!!
明天继续加油。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于