微信小程序——商品列表

这篇具有很好参考价值的文章主要介绍了微信小程序——商品列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序商品列表,微信小程序开发,前端

主页面

<view class="container">
  <googsList goodsClassList="{{goodsClassList}}" goodsList="{{goodsList}}"  bind:leftClick="leftClick"  bind:toDetails="toDetails"  bind:scrolltolowerGoodsClass="scrolltolowerGoodsClass" bind:scrolltolowerGooodsList="scrolltolowerGooodsList"></googsList>
</view>

引入组件

{
  "usingComponents": {
    "googsList":"../components/goodsList/goodList"
  }
}
Page({
  data: {
    goodsClassList: [{
      categoryId: "0",
      categoryName: "全部",
      stock: 0
    }, {
      categoryId: "391",
      categoryName: "床"
    }, {
      categoryId: "392",
      categoryName: "沙发"
    }, {
      categoryId: "393",
      categoryName: "衣柜"
    }, {
      categoryId: "394",
      categoryName: "餐桌"
    }, {
      categoryId: "395",
      categoryName: "办公椅"
    }, {
      categoryId: "391",
      categoryName: "床"
    }, {
      categoryId: "392",
      categoryName: "沙发"
    }, {
      categoryId: "393",
      categoryName: "衣柜"
    }, {
      categoryId: "394",
      categoryName: "餐桌"
    }, {
      categoryId: "395",
      categoryName: "办公椅"
    }, {
      categoryId: "391",
      categoryName: "床"
    }, {
      categoryId: "392",
      categoryName: "沙发"
    }, {
      categoryId: "393",
      categoryName: "衣柜"
    }, {
      categoryId: "394",
      categoryName: "餐桌"
    }, {
      categoryId: "395",
      categoryName: "办公椅"
    }, {
      categoryId: "391",
      categoryName: "床"
    }, {
      categoryId: "392",
      categoryName: "沙发"
    }, {
      categoryId: "393",
      categoryName: "衣柜"
    }, {
      categoryId: "394",
      categoryName: "餐桌"
    }, {
      categoryId: "395",
      categoryName: "办公椅"
    }],
    goodsList: [{
      goodsId: 4179,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/4c6f864f-912a-4601-8fc8-8021b8247ec1.jpg",
      goodsName: "卧室原木大床",
      goodsPrice: 2456,
      status: 1,
      stock: 0,
    }, {
      goodsId: 4180,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/79212939-e8ad-40bb-abdf-89706c1ef9a8.jpg",
      goodsName: "实木沙发 黑胡桃木",
      goodsPrice: 1800,
      status: 1,
      stock: 28,
    }, {
      goodsId: 4190,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/e0e394e0-3c30-4611-95f9-f244044dae68.jpg",
      goodsName: "实木餐桌 大尺寸餐桌 橡木 樱桃木 白蜡木",
      goodsPrice: 3888,
      status: 1,
      stock: 28,
    }, {
      goodsId: 4191,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/36c39361-49d6-46e9-9926-2663377ae434.jpg",
      goodsName: "实木餐椅 软包餐椅 梳妆椅 书桌椅",
      goodsPrice: 3888,
      status: 1,
      stock: 99
    }, {
      goodsId: 4205,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/14ef0704-f407-4db4-9533-5458bde955a5.png",
      goodsName: "实木沙发 橡木 全拆洗设计 软包多色可选",
      goodsPrice: 3888,
      status: 1,
      stock: 99
    }, {
      goodsId: 4207,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/25369361-0a57-4d8d-8a73-59807a3daa0e.png",
      goodsName: "实木沙发 橡木 布艺沙发 科技布沙发 多色可选",
      goodsPrice: 3888,
      status: 1,
      stock: 92
    }, {
      goodsId: 4208,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/08f33023-ec55-4b49-8d5a-297f09698e23.png",
      goodsName: "单人沙发椅 藤编休闲椅",
      goodsPrice: 3888,
      status: 1,
      stock: 99
    }, {
      goodsId: 4222,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/c7198316-1dd6-4377-8f8c-ac5d4f7fe166.png",
      goodsName: " 边柜 橡木 小户型 藤编储物柜",
      goodsPrice: 3888,
      status: 1,
      stock: 99,
    }, {
      goodsId: 4223,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/c6f45a76-cca8-4560-ae39-56b0a64dbcbc.png",
      goodsName: "实木沙发 橡木 藤编沙发 可拆洗",
      goodsPrice: 3888,
      status: 1,
      stock: 99
    }, {
      goodsId: 4226,
      goodsMainImg: "https://haiwaiu.oss-cn-hangzhou.aliyuncs.com/app/61ce745d-9e9b-4143-a1ae-9f5a2455e31f.png",
      goodsName: "单人沙发椅 侘寂风 藤编休闲椅",
      goodsPrice: 3888,
      status: 1,
      stock: 99
    }],
    categoryId: '', //栏目的id
    goodsId: '', //商品的id
    page: 1,
    limit: 10,
    noMore: false
  },
  //获取左边项目栏的id
  leftClick(e) {
    // console.log(e)
    // 调用接口获取商品列表
    this.setData({
      categoryId: e.detail.categoryId,
      goodsList: []
    })
  },
  // 获取商品列表
  getGoodsList() {
    // 调用接口返回的数据 
    let list = []
    if (list.length < this.data.limit) {
      this.data.noMore = true
    } else {
      this.data.noMore = false
    }
  },
  toDetails(e) {
    // console.log(e)
    // 调用接口获取商品的信息
    this.setData({
      goodsId: e.detail.goodsId,
    })
  },
  //分页查询
  scrolltolowerGooodsList() {
    // console.log("++++++++++")
    if (this.data.noMore) return
    this.data.page += 1
    this.getGoodsList()
  },

  // 获取商品栏目
  scrolltolowerGoodsClass() {
    // console.log("-----------")
  },
})

组件部分代码文章来源地址https://www.toymoban.com/news/detail-518810.html

<view class="goods-container">
    <!--商品类型栏目  -->
    <scroll-view class="goods-class-list" scroll-y="true" style="width: 190rpx" enable-flex="flexbox" scroll-anchoring="true" bindscrolltolower="scrolltolowerGoodsClass" lower-threshold="10">
        <view class="goods-class-item text-overflow {{activeIndex==index?'selected':''}}" wx:for="{{goodsClassList}}" wx:key="index" bindtap="leftClick" data-index="{{index}}" data-item="{{item}}">
            {{item.categoryName}}
        </view>
    </scroll-view>
    <!--商品列表  -->
    <scroll-view class="goods-list" scroll-y="true" enable-flex="flexbox" scroll-anchoring="true" bindscrolltolower="scrolltolowerGooodsList" lower-threshold="10">
        <view class="goods-list-item" wx:for="{{goodsList}}" wx:key="index" bindtap="toDetails" data-item="{{item}}">
            <image class="goods-img {{item.stock==0?'scarce-goods':''}}" src="{{item.goodsMainImg}}" lazy-load="true"></image>
            <view class="goods-info">
                <view class="goods-title">
                    {{item.goodsName}}
                </view>
                <view class="goods-price">
                    <text class="text">{{item.goodsPrice}}</text>元
                </view>
                <view class="goods-stock">
                    库存 {{item.stock}}件
                </view>
            </view>
        </view>
    </scroll-view>
</view>
.goods-container {
    /*底部安全区域 */
    padding-bottom: env(safe-area-inset-bottom);
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: row;
    box-sizing: border-box;
    overflow: hidden;
  }
  
  /* 商品栏目样式 */
  .flex .goods-class-list {
    font-size: 32rpx;
    font-weight: 400;
    color: #666666;
    box-sizing: border-box;
  }
  
  .goods-class-list .goods-class-item {
    width: 100%;
    height: 100rpx;
    padding-left: 30rpx;
    line-height: 100rpx;
    border-bottom: 2rpx solid #EEEEEE;
  }
  
  .goods-class-list .goods-class-item.selected {
		background-color: #EFEFEF;
	}
  
  /* 商品列表样式 */
  .goods-list {
    flex: 1;
    padding: 20rpx 20rpx 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    background-color: #EEEEEE;
    box-sizing: border-box;
  }
  
  .goods-list .goods-list-item {
    margin-bottom: 20rpx;
    padding: 12rpx;
    width: 250rpx;
    /* height: 350rpx; */
    background: #FFFFFF;
    border-radius: 8rpx 8rpx 8rpx 8rpx;
    overflow: hidden;
    /* 不被截断 */
    break-inside: avoid;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
  }
  
  .goods-list .goods-list-item .goods-img {
    width: 226rpx;
    height: 178rpx;
  }
  
  /* 缺货的样式 */
  .goods-list-item .goods-img.scarce-goods {
    position: relative;
  } 
  .goods-list-item .goods-img.scarce-goods::before {
    display: block;
    content: "缺货";
    width: 98rpx;
    height: 30rpx;
    background: #333333;
    border-radius: 30rpx 0rpx 0rpx 0rpx;
  
    font-size: 20rpx;
    font-weight: 300;
    color: #FFFFFF;
    text-align: center;
    line-height: 30rpx;
  
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
  }
  
  
  .goods-list .goods-list-item .goods-info {
    padding: 12rpx 0rpx 0rpx;
    box-sizing: border-box;
  }
  
  .goods-list-item .goods-info .goods-title {
    font-size: 28rpx;
    font-weight: 400;
    color: #666666;
    display: -webkit-box !important;
    overflow: hidden;
    word-break: break-all;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    box-sizing: border-box;
  }
  
  .goods-list-item .goods-info .goods-price {
    margin-top: 4rpx;
    height: 28rpx;
    font-size: 20rpx;
    font-weight: 400;
    color: #FF3C00;
    line-height: 28rpx;
    display: flex;
    align-content: center;
    box-sizing: border-box;
  }
  
  .goods-list-item .goods-info .goods-price .text {
    margin-right: 8rpx;
    font-size: 28rpx;
    font-weight: bold;
  }
  
  .goods-list-item .goods-info .goods-stock {
    margin-top: 8rpx;
    font-size: 20rpx;
    font-weight: 400;
    color: #999999;
  }
  
  
  /* 去除滚动条样式 */
  ::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
    color: transparent;
  }
  
Component({
    /**
     * 组件的属性列表
     */
    properties: {
        goodsClassList: {
            type: Array,
            value: []
        },
        goodsList: {
            type: Array,
            value: []
        }
    },

    /**
     * 组件的初始数据
     */
    data: {
        activeIndex:0
    },

    /**
     * 组件的方法列表
     */
    methods: {
        leftClick(e) {
            let index=e.currentTarget.dataset.index
            let item=e.currentTarget.dataset.item
            this.setData({
                activeIndex : index
            })
            this.triggerEvent('leftClick', item)
        },
        toDetails(e) {
            let item=e.currentTarget.dataset.item
            this.triggerEvent('toDetails', item)
        },
        scrolltolowerGoodsClass(){
            this.triggerEvent('scrolltolowerGoodsClass')
        },
        scrolltolowerGooodsList(){
            this.triggerEvent('scrolltolowerGooodsList')
        }
    }
})

到了这里,关于微信小程序——商品列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序开发之微信小程序交互

    目录 一、小程序交互 前端: 1、先在登陆界面中编写代码 2、在前端中编写js代码 后端:           1、先导入依赖:           2、定义好配置文件           3、编写好实体类           4、将帮助类进行配置           5、编写mapper类           6、定义service层以及对应的

    2024年02月09日
    浏览(59)
  • 微信小程序 -- 小程序开发能力与拓展

    1. 获取用户头像 当小程序需要让用户完善个人资料时,我们可以通过微信提供的头像、昵称填写能力快速完善。如图: 想使用微信提供的头像填写能力,需要两步: 将 button 组件 open-type 的值设置为 chooseAvatar 当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调

    2024年04月15日
    浏览(64)
  • 【微信小程序开发零基础入门】——微信小程序入门

    学习小程序跟学习网页开发有什么不同 1.如何创建微信小程序项目 1.1 注册、登录、复制appId 注册:在 https://mp.weixin.qq.com/cgi-bin/wx 进行注册微信小程序开发账号 登录:在 https://mp.weixin.qq.com 登录小程序账号 复制appId: 在 \\\"开发\\\" 的 \\\"开发管理\\\" 的 \\\"开发设置\\\" 的 \\\"开发者ID\\\"中 1.2 下

    2024年02月03日
    浏览(62)
  • 【微信小程序开发】微信小程序集成腾讯位置项目配置

    腾讯位置服务官网 当然没账号的要先注册一个账号 在我的应用里创建一个新的应用,印象中需要小程序ID,去微信开发者工具里面找到自己的小程序ID填入即可 添加 key 中勾选勾选 WebServiceAPI 从官网里下载,我这里下载的是 v1.2 打开微信开发者工具 在查找小程序ID的地方下滑

    2024年02月02日
    浏览(62)
  • 小程序入门笔记(一) 黑马程序员前端微信小程序开发教程

    微信小程序基本介绍 小程序和普通网页有以下几点区别: 运行环境:小程序可以在手机的操作系统上直接运行,如微信、支付宝等;而普通网页需要在浏览器中打开才能运行。 开发技术:小程序采用前端技术进行开发,如HTML、CSS、JavaScript等;而普通网页也是使用类似的前

    2024年02月08日
    浏览(65)
  • 微信小程序开发入门与实战 ①(初始微信小程序)

    @作者 : SYFStrive   @博客首页 : HomePage 📜: 微信小程序 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 微信小程序专栏🔗 💃: 感谢支持,学累了可以先看小段由小胖给大家带来的街舞😀 🔗: 阅读文章 👉 微信小程序 (🔥)

    2024年02月09日
    浏览(111)
  • 基于微信小程序的新闻资讯的小程序开发

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,新闻资讯被用户普遍使用,为方便用户能够可以随时进行新闻资讯的数据信息管理,特开发了基于新闻资讯的

    2024年02月03日
    浏览(52)
  • 微信小程序实战:智能水印相机小程序开发附源码

    一款智能水印相机,拍照自动添加时间、地点、经纬度等水印文字,可用于工作考勤、学习打卡、工作取证等,支持自定义内容以及给现有照片添加水印。无需安装,无需注册,即开即用。 主要是通过canvas给图片上添加上时间水印地点信息。首先通过官方API(chooseLocation)获取

    2024年02月09日
    浏览(67)
  • 微信小程序开发教程:项目一微信小程序入门 课后习题

    《微信小程序开发教程》主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一、单选题 二、多选题 三、判断题 四、填空题 五、简答题 1.请简述微信开发者工具中调试器功能。 2.请简述微信小程序开发环境的搭建过程。 六、编程题 1.请创建一个空白项目,在页面中输出Hello W

    2024年02月11日
    浏览(57)
  • 微信小程序商城开发-商品详情页跳转购物车

    微信小程序商城开发中商品详情页中购物车页面的跳转(仅限于tabbar页面的跳转)   点击商品详情页中的购物车图标跳转不到tabbar及导航栏中的购物车页面,总是报错 微信小程序开发需要跳转tabbar页面的话,有固定的跳转方式,不是开发中所有的跳转方式都适用于tabbar跳转

    2024年02月17日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包