diff --git a/pages/goods/goods-list/goods-list.vue b/pages/goods/goods-list/goods-list.vue index 2dcffff..d4d7416 100644 --- a/pages/goods/goods-list/goods-list.vue +++ b/pages/goods/goods-list/goods-list.vue @@ -9,33 +9,9 @@ data() { return { goodsList: [], - loadingText: "正在加载...", - headerTop: "0px", - headerPosition: "fixed", - orderbyList: [{ - text: "销量", - selected: true, - orderbyicon: false, - orderby: 0 - }, - { - text: "价格", - selected: false, - orderbyicon: ['sheng', 'jiang'], - orderby: 0 - }, - { - text: "好评", - selected: false, - orderbyicon: false, - orderby: 0 - } - ], - orderby: "sheng" }; }, onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数 - console.log(option.cid); //打印出上个页面传递的参数。 if (option.id == 1) { uni.setNavigationBarTitle({ title: '商品列表' @@ -46,221 +22,26 @@ title: '金币列表' }); } - //兼容H5下排序栏位置 - // #ifdef H5 - //定时器方式循环获取高度为止,这么写的原因是onLoad中head未必已经渲染出来。 - let Timer = setInterval(() => { - let uniHead = document.getElementsByTagName('uni-page-head'); - if (uniHead.length > 0) { - this.headerTop = uniHead[0].offsetHeight + 'px'; - clearInterval(Timer); //清除定时器 - } - }, 1); - // #endif + }, onPageScroll(e) { - //兼容iOS端下拉时顶部漂移 - if (e.scrollTop >= 0) { - this.headerPosition = "fixed"; - } else { - this.headerPosition = "absolute"; - } + }, //下拉刷新,需要自己在page.json文件中配置开启页面下拉刷新 "enablePullDownRefresh": true onPullDownRefresh() { - setTimeout(() => { - this.reload(); - uni.stopPullDownRefresh(); - }, 1000); + }, //上拉加载,需要自己在page.json文件中配置"onReachBottomDistance" onReachBottom() { - uni.showToast({ - title: '触发上拉加载' - }); - let len = this.goodsList.length; - if (len >= 40) { - this.loadingText = "到底了"; - return false; - } else { - this.loadingText = "正在加载..."; - } - let end_goods_id = this.goodsList[len - 1].goods_id; - for (let i = 1; i <= 10; i++) { - let goods_id = end_goods_id + i; - let p = { - goods_id: goods_id, - img: '/static/img/goods/p' + (goods_id % 10 == 0 ? 10 : goods_id % 10) + '.jpg', - name: '商品名称商品名称商品名称商品名称商品名称', - price: '¥168', - slogan: '1235人付款' - }; - this.goodsList.push(p); - } + }, methods: { - reload() { - console.log("reload"); - let tmpArr = [] - this.goodsList = []; - let end_goods_id = 0; - for (let i = 1; i <= 10; i++) { - let goods_id = end_goods_id + i; - let p = { - goods_id: goods_id, - img: '/static/img/goods/p' + (goods_id % 10 == 0 ? 10 : goods_id % 10) + '.jpg', - name: '商品名称商品名称商品名称商品名称商品名称', - price: '¥168', - slogan: '1235人付款' - }; - this.goodsList.push(p); - } - }, - //商品跳转 - toGoods(e) { - uni.showToast({ - title: '商品' + e.goods_id, - icon: "none" - }); - uni.navigateTo({ - url: '../goods' - }); - }, - //排序类型 - select(index) { - let tmpTis = this.orderbyList[index].text + "排序 " - if (this.orderbyList[index].orderbyicon) { - let type = this.orderbyList[index].orderby == 0 ? '升序' : '降序'; - if (this.orderbyList[index].selected) { - type = this.orderbyList[index].orderby == 0 ? '降序' : '升序'; - this.orderbyList[index].orderby = this.orderbyList[index].orderby == 0 ? 1 : 0; - } - tmpTis += type - } - this.orderbyList[index].selected = true; - let len = this.orderbyList.length; - for (let i = 0; i < len; i++) { - if (i != index) { - this.orderbyList[i].selected = false; - } - } - uni.showToast({ - title: tmpTis, - icon: "none" - }); - } + } }