11 | 小程序实战之商品收藏页面

这块没什么好说的,可以套用之前的模板

<Tabs tabs="{{tabs}}" bindtabsItemChange="handleTabsItemChange">
  <view class="collect_main">
    <view class="collect_title">
      <text class="collect_tips active">全部</text>
      <text class="collect_tips">正在热卖</text>
      <text class="collect_tips">即将上线</text>
    </view>
    <view class="collect_content">
      <navigator
       class="goods_item"
       wx:for="{{collect}}"
       wx:key="goods_id"
       url="/pages/goods_detail/index?goods_id={{item.goods_id}}"
      >
        <!-- 左侧 图片容器 -->
        <view class="goods_img_wrap">
          <image mode="widthFix" src="{{item.goods_small_logo?item.goods_small_logo:'https://ww1.sinaimg.cn/large/007rAy9hgy1g24by9t530j30i20i2glm.jpg'}}">
          </image>
        </view>
        <!-- 右侧 商品容器 -->
        <view class="goods_info_wrap">
          <view class="goods_name">{{item.goods_name}}</view>
          <view class="goods_price">¥{{item.goods_price}}</view>
        </view>
      </navigator>
    </view>
  </view>
</Tabs>
.collect_main{
  background-color: #f3f4f6;
  .collect_title{
    padding: 40rpx 0;
    .collect_tips{
      padding: 15rpx;
      border: 1rpx solid #ccc;
      margin-left: 25rpx;
      background-color: #fff;
    }
    .active{
      color: var(--themeColor);
      border-color: currentColor;
    }
  }
  .collect_content{
    .goods_item{
      display: flex;
      border-bottom: 1px solid #ccc;
      background-color: #fff;
      .goods_img_wrap{
        flex: 2;
        display: flex;
        justify-content: center;
        align-items: center;
        image{
          width: 70%;
        }
      }
      .goods_info_wrap{
        flex: 3;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
        .goods_name{
          display: -webkit-box;
          overflow: hidden;
          -webkit-box-orient: vertical;
          -webkit-line-clamp:2;
        }
        .goods_price{
          color: var(--themeColor);
          font-size: 32rpx;
        }
      }
    }
  }
}
// pages/collect/index.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    tabs: [
      {
        id: 0,
        value: "商品收藏",
        isActive: true,
      },
      {
        id: 1,
        value: "品牌收藏",
        isActive: false,
      },
      {
        id: 2,
        value: "店铺收藏",
        isActive: false,
      },
      {
        id: 3,
        value: "浏览足迹",
        isActive: false,
      }
    ]
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow(){
    const collect=wx.getStorageSync("collect")||[];
    this.setData({
      collect
    });
  },
  // 标题点击事件 从子组件传递过来
  handleTabsItemChange(e){
    // 1 获取被点击的标题索引
    const {index}=e.detail;
    // 2 修改源数组
    let {tabs}=this.data;
    tabs.forEach((v,i)=>i===index?v.isActive=true:v.isActive=false);
    // 3 赋值到data中
    this.setData({
      tabs
    })
  },
});
{
  "usingComponents": {
    "Tabs":"/components/Tabs/Tabs"
  },
  "navigationBarTitleText": "商品收藏"
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值