Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DiDi
cube-ui
提交
40f27ad2
C
cube-ui
项目概览
DiDi
/
cube-ui
9 个月 前同步成功
通知
34
Star
9078
Fork
1508
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
cube-ui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
40f27ad2
编写于
7月 12, 2020
作者:
D
dolymood
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore(demo): sticky complex opti
上级
7f801d6e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
11 deletion
+19
-11
example/pages/sticky/complex.vue
example/pages/sticky/complex.vue
+19
-11
未找到文件。
example/pages/sticky/complex.vue
浏览文件 @
40f27ad2
...
...
@@ -158,15 +158,17 @@ export default {
// 必须触发 scroll 事件 所以第三个参数的时间 不是 0
this
.
$refs
.
scroll
.
scrollTo
(
0
,
-
keyPos
,
1
)
this
.
$nextTick
(()
=>
{
// 等待 UI 高度变化 让其能够达到触发 pullup 条件
// hack maxScrollY 此时不能 refresh 因为需要hack sticky 状态
// 不让其 reset position
this
.
$refs
.
scroll
.
scroll
.
maxScrollY
=
-
keyPos
if
(
!
this
.
tabPullUpMap
[
newTab
].
enable
)
{
if
(
this
.
tabPullUpMap
[
newTab
].
enable
&&
!
this
[
`items
${
newTab
}
`
].
length
)
{
// 数据还是空的 主动触发
// 其他场景 不主动触发
// 等待 UI 高度变化 让其能够达到触发 pullup 条件
// hack maxScrollY 此时不能 refresh 因为需要 hack sticky 状态
// 不让其 reset position
this
.
$refs
.
scroll
.
scroll
.
movingDirectionY
=
1
this
.
$refs
.
scroll
.
scroll
.
maxScrollY
=
-
keyPos
}
else
{
// 当不能加载更多的时候 切换就不会更新数据了 所以这里手工刷新
setTimeout
(()
=>
{
this
.
$refs
.
scroll
.
refresh
()
},
20
)
this
.
$refs
.
scroll
.
refresh
()
}
})
}
...
...
@@ -174,12 +176,18 @@ export default {
methods
:
{
onPullingUp
()
{
// 这里分别模拟不同 tab 下的请求
const
currentTab
=
this
.
currentTab
setTimeout
(()
=>
{
const
targetItems
=
`items
${
this
.
currentTab
}
`
if
(
currentTab
!==
this
.
currentTab
)
{
// 已经在其他tab了
this
.
$refs
.
scroll
.
forceUpdate
()
return
}
const
targetItems
=
`items
${
currentTab
}
`
const
items
=
this
[
targetItems
]
=
this
[
targetItems
].
concat
(
_data
)
if
(
items
.
length
>=
this
.
currentTab
*
20
)
{
if
(
items
.
length
>=
currentTab
*
20
)
{
// 某个 tab 没有更多了
this
.
tabPullUpMap
[
this
.
currentTab
].
enable
=
false
this
.
tabPullUpMap
[
currentTab
].
enable
=
false
}
},
300
)
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录