商品求和和总价,获取元素高度

1 小程序中商品求和和总价

//总数
total(){
  let arr = []
  //拿到所有的商品
  const products = this.data.products
  for(let i = 0;i<products.length;i++){
      const goods = products[i].goods
      arr = [...arr,...goods]
  }
  //console.log(arr)
  //找到所有total不为0的数据
  //console.log(arr.filter(item=>item.total))
  const _arr = arr.filter(item=>item.total)
  return {total:_arr.reduce((sum,num)=>sum += num.total,0),
          totalPrice:arr.reduce((sum,num)=>sum += num.price*num.total,0)
  } 

},
//点击 改变数量
changeCount(e){
   const {cindex,count,pindex} = e.currentTarget.dataset
   const attr = `products[${pindex}].goods[${cindex}].total`
   this.setData({
     [attr]:count
   },
   //count设置完成后,获取总数 setData是一个异步函数
   ()=>{
    this.setData({
      total:this.total().total,
      totalPrice:this.total().totalPrice
    })
   }
   )
},
  <view class="total">
   <view class="reduce" bindtap="changeCount" data-count="{{product.total && product.total - 1}}" data-pIndex="{{index}}" data-cIndex="{{i}}">-</view>
      <view>{{product.total}}</view>
        <view class="add" bindtap="changeCount" data-count="{{product.total + 1}}" data-pIndex="{{index}}" data-cIndex="{{i}}">+</view>
   </view>
<view class="cart">
  <view>商品数量{{total}}</view>
  <view>总价{{totalPrice}}</view>
</view>

2 小程序中获取元素高度

//获取元素高度
getHeight(){
  const query = wx.createSelectorQuery()
  query.selectAll('.item').boundingClientRect()
  query.selectViewport().scrollOffset()
  query.exec(res=>{
   //console.log(res[0].map(item=>item.top))
   this.setData({
    itemHeights:res[0].map(item=>item.top)
   })
})
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值