我的编程空间,编程开发者的网络收藏夹
学习永远不晚

uni-app商品分类页面怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

uni-app商品分类页面怎么实现

这篇文章主要介绍“uni-app商品分类页面怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“uni-app商品分类页面怎么实现”文章能帮助大家解决问题。

一、渲染右侧二级和三级分类

1.1 动态渲染二级分类页面

  • 在data节点定义数据cateList2

data() {
      return {
        //当前设备可用高度
        windowHeight: '',
        // 分类页数据
        cateList: [],
        // active 索引判断
        active: 0,
        // 二级分类数据
        cateList2: [],
      };
    },
  • 请求数据时在函数getCateList为其赋值(默认为第一个数据,动态数据变化在active

async getCateList() { // async 异步不能使用箭头函数
        const {
          data: res
        } = await uni.$http.get('/api/public/v1/categories')
        // 判断是否赋值成功
        if (res.meta.status != 200) return uni.$showMsg()
        // 一级分类赋值 
        this.cateList = res.message
        // 二级分类赋值
        this.cateList2 = this.cateList[0].children
      }
    }
  • 在active激活项函数activeTap也对其进行动态数据绑定

methods: {
      // 触击事件绑定
      activeTap(options) {
        // 传参方法一:
        // this.active = options.target.dataset.active
        // 传参方法二
        this.active = options
        // 动态修改二级列表
        this.cateList2 = this.cateList[options].children
      },

效果:

uni-app商品分类页面怎么实现

二、渲染二级分类UI结构

  • 结构

<!-- 右侧container -->
      <scroll-view scroll-y="true" class="scroll-view-right" :style="{height: windowHeight + 'px'}">
        <view class="cate-level2" v-for="(item,index) in cateList2" v-bind:key="index">
          <!-- 标题 -->
        <view class="cate-level2-title">{{'/ ' + item.cat_name + ' /'}}</view>           <!-- / {{item.cat_name}} / -->
        <!-- 项目容器 -->
        <view>
          <view class="cate-level2-list" v-for="(prd,prdindex) in item.children" v-bind:key="prdindex">
            <view class="cate-level2-prd">
              <image v-bind:class="lazy" data-src="prd.cat_icon" mode="widthFix"></image>
            </view>
          </view>
        </view>
        </view>
      </scroll-view>
  • 样式

.cate-level2-title {
    font-weight: 700;
    padding: 2px;
    font-size: 14px;
  }

效果:

uni-app商品分类页面怎么实现

三、渲染三级分类UI结构

注意:在样式image组件的属性mode尽量不要使用,样式会很难调整

  • 结构

<!-- 右侧container -->
      <scroll-view scroll-y="true" class="scroll-view-right" :style="{height: windowHeight + 'px'}">
        <view class="cate-level2" v-for="(item,i2) in cateList2" v-bind:key="i2">
          <!-- 二级分类项目标题 -->
          <view class="cate-level2-title">{{'/ ' + item.cat_name + ' /'}}</view> <!-- / {{item.cat_name}} / -->
          <!-- 三级分类列表 -->
          <view class="cate-level3-list">
            <!-- 三级分类的item项 -->
            <view class="cate-level3-list-item" v-for="(prd,i3) in item.children" v-bind:key="i3">
              <!-- 三级分类项目的图片 -->
              <image v-bind:class="lazy" data-src="prd.cat_icon"></image>
              <!-- 三级分类项目的文本 -->
              <text>{{prd.cat_name}}</text>
            </view>
          </view>
        </view>
      </scroll-view>
  • 样式

.scroll-view-right {

    background-color: #fff;

    .cate-level2-title {
      font-weight: 700;
      padding: 2px;
      font-size: 14px;
      text-align: center;
    }

  }

  .cate-level2 {
    padding: 10rpx;
    padding-bottom: 20rpx;
  }

  // 三级分类样式
  .cate-level3-list {
    display: flex;
    // 允许自动换行
    flex-wrap: wrap;

    .cate-level3-list-item {
      // 整体三分之一
      width: 33.33%;
      display: flex;
      flex-direction: column;
      box-sizing: border-box;
      justify-content: space-around;
      align-items: center;

      image {
        width: 160rpx;
        height: 160rpx;
        margin-bottom: 5rpx;
      }

      text {
        font-size: 25rpx;
      }
    }

  }

效果:

uni-app商品分类页面怎么实现

四、切换一级分类重置滚动条位置

  • 在data节点定义数据scrollTop

注意:对scrollTop 赋值前后值不变情况 下会没有效果,如果默认值为0,函数动态赋值也为0,那么组件就会默认为0,视为没有变化,这里解决方法是在0,1变化(1像素默认其为顶部,一点点偏差用户看不出来的????)

data() {
      return {
        //当前设备可用高度
        windowHeight: '',
        // 分类页数据
        cateList: [],
        // active 索引判断
        active: 0,
        // 二级分类数据
        cateList2: [],
        // 滚动条位置 
        scrollTop: 1 
      };
    },
  • scroll-view动态绑定scroll-top属性值

<!-- 右侧container -->
 <scroll-view scroll-y="true" class="scroll-view-right" :style="{height: windowHeight + 'px'}" v-bind:scroll-top="scrollTop">
  • 切换一级分类,动态设置scrollTop

// 触击事件绑定
 activeTap(options) {
   // 传参方法一:
   // this.active = options.target.dataset.active
   // 传参方法二
   this.active = options
   // 动态修改二级列表
   this.cateList2 = this.cateList[options].children
   // 重置滚动条位置 动态变化
   this.scrollTop = this.scrollTop === 0 ? 1 : 0
 },

uni-app商品分类页面怎么实现

五、点击三级分类跳转到商品页面

  • 绑定事件函数

<!-- 三级分类的item项 -->
<view class="cate-level3-list-item" v-for="(prd,i3) in item.children" v-bind:key="i3" v-on:click="gotoGoodsList(prd)">
  • 定义函数跳转页面,并传参数 商品id

gotoGoodsList: prd => {
    uni.navigateTo({
      url: '/subpackages/goods_list/goods_list?cat_id=' + prd.cat_id
    })

效果:

uni-app商品分类页面怎么实现

六、分支的提交和合并

  • git status  注释:查看当前文件状态

  • git add .  注释: 提交所有文件到暂存区

  • git commit -m "完成分类页面的开发" 注释:提交到本地仓库

  • git push -u origin cate 注释:提交到远程仓库的cate分支

  • git branch 注释:查看当前分支

  • git checkout master 注释:切换到主分支

  • git merge cate 注释:合并cate分支

  • git push 注释:上传主分支到远程仓库

  • git branch -d cate 注释:本地cate分支

关于“uni-app商品分类页面怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

uni-app商品分类页面怎么实现

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Unity实现打开淘宝app并跳转到商品页面功能

这篇文章主要介绍“怎么用Unity实现打开淘宝app并跳转到商品页面功能”,在日常操作中,相信很多人在怎么用Unity实现打开淘宝app并跳转到商品页面功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用
2023-06-20

Android如何实现仿京东、拼多多商品分类页

这篇文章主要介绍了Android如何实现仿京东、拼多多商品分类页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先放一个写完之后的样子:写这个需求的思路也很清晰,首先左边肯定是
2023-05-30

微信小程序实现商品分类页过程结束

这篇文章主要为大家详细介绍了微信小程序实现商品分类页列表方法,商品分类页主要是需要实现商品类目和对应商品标题的联动跳转,文中过程详细,感兴趣的小伙伴们可以参考一下
2023-05-20

微信小程序怎么实现商品列表跳转商品详情页功能

这篇文章主要介绍“微信小程序怎么实现商品列表跳转商品详情页功能”,在日常操作中,相信很多人在微信小程序怎么实现商品列表跳转商品详情页功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序怎么实现商品列表
2023-06-30

amazeui页面分析之怎么实现登录页面

小编给大家分享一下amazeui页面分析之怎么实现登录页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、总结1、tpl命名空间:tpl命名空间的样式都是从ap
2023-06-09

Java新增菜品与分页查询怎么实现

这篇“Java新增菜品与分页查询怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java新增菜品与分页查询怎么实现”文
2023-06-30

计算机网络中网上商城的分类页面怎么优化

小编给大家分享一下计算机网络中网上商城的分类页面怎么优化,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!电商网站的分类页面优化非常重要,合理的优化你的分类页面可以有效的提高产品订单以及关键词排名。实践表明电子商务网站层级结构
2023-06-13

怎么在Html5中实现页面二次分享

怎么在Html5中实现页面二次分享?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。文档地址,通过引入官方API。文档写挺好,直接传入shareInfo就得了。