大家好,又见面了,我是你们的朋友全栈君。
父组件页面是carts.wxml 子页面是product.html
子组件wxml代码
代码语言:javascript复制<view class='cartAllSel' bindtap="bindSelectAll" >
<icon wx:if="{
{selectedAllStatus}}" class='iconDel' type='success' color='#4D4D4D' size="20" ></icon>
<icon class='iconDel' wx:else type="circle" size="20"></icon>
<text class='product-title'>全选</text>
</view>
子组件js代码
代码语言:javascript复制 methods: {
//购物车全选
bindSelectAll: function (e) {
var that =this;
var allChecked = !this.data.selectedAllStatus;
var carts = this.data.productList;
for (var i = 0; i < carts.length; i ) {
carts[i].selected = allChecked;
}
if (allChecked){
this.data.checkedNum = carts.length;
}else{
this.data.checkedNum=0;
}
//需要添加部分,traCheckedNum是父页面调用需要
var checkeddata = { checkedNum: this.data.checkedNum};
this.triggerEvent("traCheckedNum", checkeddata )
this.setData({
productList: carts,
selectedAllStatus: allChecked,
})
},
}
父页面 carts.wxml
需要在子组件处添加 bind:traCheckedNum=”checkNum” checkNum是父js中的方法
代码语言:javascript复制<ProductList bind:traCheckedNum="checkNum" productList="{
{cartList}}" listType="{
{'cart'}}"></ProductList>
父页面 carts.js
注意checkNum方法是不能写在Methods中不然小程序会报找不到该组件,就和data平级就可以
代码语言:javascript复制checkNum: function (e) {
this.setData({
checkedNum: e.detail.checkedNum,
})
console.log(e.detail.checkedNum)
}
父页面carts.wxml引用值
代码语言:javascript复制 <view>已选 {
{checkedNum}}</view>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。