|
@@ -12,7 +12,7 @@
|
|
|
</div>
|
|
|
<div class="body">
|
|
|
<van-search shape="round" v-model="value" placeholder="搜索商品" />
|
|
|
- <div ref="main" class="main">
|
|
|
+ <div @scroll="scrollMain" ref="main" class="main">
|
|
|
<van-card
|
|
|
v-for="(item, index) in list"
|
|
|
:key="item.goods_title + index"
|
|
@@ -113,7 +113,8 @@ import sku from "./components/sku.vue";
|
|
|
import i1 from "@/assets/icon/i1.png";
|
|
|
|
|
|
const size = 10;
|
|
|
-let page = 1;
|
|
|
+let page = 1,
|
|
|
+ time = undefined;
|
|
|
|
|
|
export default {
|
|
|
name: "drinks",
|
|
@@ -136,12 +137,6 @@ export default {
|
|
|
"type=" + this.activeKey + "&page=" + page + "&size=" + size
|
|
|
).then(r => (this.list = r || []));
|
|
|
getCoffeeTypes().then(r => (this.sidlist = r || []));
|
|
|
-
|
|
|
- this.$refs.main.onscroll = () => {
|
|
|
- const ele = this.$refs.main || undefined;
|
|
|
- if (ele.scrollHeight - ele.scrollTop - ele.clientHeight > 30) return;
|
|
|
- console.log(ele.scrollTop + ele.clientHeight, ele.scrollHeight);
|
|
|
- };
|
|
|
},
|
|
|
computed: {},
|
|
|
methods: {
|
|
@@ -175,7 +170,9 @@ export default {
|
|
|
},
|
|
|
|
|
|
goodsChange(item) {
|
|
|
- let listIndex = (this.list || []).findIndex(r => r.goods_id == item.goods_id);
|
|
|
+ let listIndex = (this.list || []).findIndex(
|
|
|
+ r => r.goods_id == item.goods_id
|
|
|
+ );
|
|
|
if (listIndex != -1) this.list[listIndex].num = item.num;
|
|
|
let selectItemIndex = (this.selectItem || []).findIndex(
|
|
|
r => r.goods_id == item.goods_id
|
|
@@ -219,6 +216,25 @@ export default {
|
|
|
},
|
|
|
});
|
|
|
},
|
|
|
+
|
|
|
+ scrollMain(event) {
|
|
|
+ const ele = event.target;
|
|
|
+ if (
|
|
|
+ ele.scrollHeight - ele.scrollTop - ele.clientHeight > 30 ||
|
|
|
+ time === -1
|
|
|
+ )
|
|
|
+ return;
|
|
|
+ if (time) clearTimeout(time);
|
|
|
+ time = setTimeout(() => {
|
|
|
+ getCoffeeGoods(
|
|
|
+ "type=" + this.activeKey + "&page=" + ++page + "&size=" + size
|
|
|
+ ).then(r => {
|
|
|
+ this.list = this.list.concat(r || []);
|
|
|
+ if (r && r.length >= 10) return;
|
|
|
+ time = -1;
|
|
|
+ });
|
|
|
+ }, 200);
|
|
|
+ },
|
|
|
},
|
|
|
beforeUnmount: function () {},
|
|
|
components: {
|