Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
dfbf4148
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
Star
90
Fork
162
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
dfbf4148
编写于
8月 23, 2023
作者:
H
hdx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
long-list: 滚动联动
上级
80da005e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
6 deletion
+17
-6
pages/template/long-list/long-list-page.uvue
pages/template/long-list/long-list-page.uvue
+5
-4
pages/template/long-list/long-list.uvue
pages/template/long-list/long-list.uvue
+12
-2
未找到文件。
pages/template/long-list/long-list-page.uvue
浏览文件 @
dfbf4148
<template>
<list-view class="list" ref="listView" @scrolltolower="loadData">
<list-view class="list" ref="listView" @scroll
="onScroll" @scroll
tolower="loadData">
<list-item class="list-item" v-for="(item, index) in dataList" :key="index">
<view class="list-item-icon">
<image class="list-item-icon-image" :src="item.plugin_img_link"></image>
...
...
@@ -129,9 +129,10 @@
return result
},
// onScroll(e : ScrollEvent) {
// console.log(e.detail.deltaY);
// }
onScroll(e : ScrollEvent) {
// TODO e.detail.deltaY 值不正确
this.$emit('pageScroll', e.detail.deltaY)
}
}
}
</script>
...
...
pages/template/long-list/long-list.uvue
浏览文件 @
dfbf4148
<template>
<scroll-view class="page" :scroll-top="pageScrollTop">
<view class="search-bar">
<view class="search-bar"
ref="header"
>
<input placeholder="搜索..." />
</view>
<view class="swiper-list">
...
...
@@ -22,7 +22,7 @@
<swiper class="swiper-view" ref="swiper" :current="swiperIndex" @change="onSwiperChange"
@transition="onSwiperTransition" @animationfinish="onSwiperAnimationfinish">
<swiper-item class="swiper-item" v-for="(item, index) in swiperList" :key="index">
<long-page ref="longPage" :type="item.type"></long-page>
<long-page ref="longPage" :type="item.type"
@pageScroll="onSwiperItemPageScroll"
></long-page>
</swiper-item>
</swiper>
</view>
...
...
@@ -75,6 +75,7 @@
tabsScrollLeft: 0,
swiperIndicatorLineLeft: 0,
swiperIndicatorLineWidth: 0,
$headerHeight: 0,
$lastSwiperIndex: 0,
$swiperWidth: 0,
$swiperTabsRect: [] as SwiperTabsItem[],
...
...
@@ -87,6 +88,7 @@
})
},
onReady() {
this.$headerHeight = (this.$refs["header"] as INode)?.offsetHeight as number
this.$swiperWidth = (this.$refs["swiper"] as INode)?.offsetWidth as number
this.queryTabItemsSize()
this.setSwiperIndex(0, true)
...
...
@@ -122,6 +124,14 @@
// console.log("onSwiperAnimationfinish", e.detail.current);
// this.setSwiperIndex(e.detail.current, true);
},
onSwiperItemPageScroll(dy : number) {
let top = this.pageScrollTop + dy
if (top > this.$headerHeight) { top = this.$headerHeight }
if (top < 0) { top = 0 }
this.pageScrollTop = top
},
queryTabItemsSize() {
this.$swiperTabsRect.length = 0;
const tabs = this.$refs["swipertab"] as INode[]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录