提交 4fa1ffd4 编写于 作者: dcloud_wdl's avatar dcloud_wdl

Revert "perf: 优化长列表示例性能"

This reverts commit 3e0e5947.
上级 dbf25262
...@@ -109,39 +109,25 @@ ...@@ -109,39 +109,25 @@
this.rearrangeQueue = [] as number[] this.rearrangeQueue = [] as number[]
}, },
rearrange(scrollTop : number) { rearrange(scrollTop : number) {
const offsetStart = this.offsetThreshold[0] = Math.max(scrollTop - this.scrollElementHeight * 5, 0) this.offsetThreshold[0] = Math.max(scrollTop - this.scrollElementHeight * 5, 0)
this.offsetThreshold[1] = Math.max(scrollTop - this.scrollElementHeight * 3, 0) this.offsetThreshold[1] = Math.max(scrollTop - this.scrollElementHeight * 3, 0)
this.offsetThreshold[2] = Math.min(scrollTop + this.scrollElementHeight * 4, this.placeholderHeight) this.offsetThreshold[2] = Math.min(scrollTop + this.scrollElementHeight * 4, this.placeholderHeight)
const offsetEnd =this.offsetThreshold[3] = Math.min(scrollTop + this.scrollElementHeight * 6, this.placeholderHeight) this.offsetThreshold[3] = Math.min(scrollTop + this.scrollElementHeight * 6, this.placeholderHeight)
const items = [] as any[] const items = [] as any[]
const defaultItemSize = this.defaultItemSize
const cachedSize = this.cachedSize
const list = this.list
let tempTotalHeight = 0 let tempTotalHeight = 0
let containerTop = 0 let containerTop = 0
let start = false, end = false for (let i = 0; i < this.list.length; i++) {
for (let i = 0; i < list.length; i++) { const item = this.list[i]
const item = list[i] let itemSize = this.defaultItemSize
let itemSize = defaultItemSize const cachedItemSize = this.cachedSize.get(item)
const cachedItemSize = cachedSize.get(item)
if (cachedItemSize != null) { if (cachedItemSize != null) {
itemSize = cachedItemSize itemSize = cachedItemSize
} }
tempTotalHeight += itemSize tempTotalHeight += itemSize
if (end) { if (tempTotalHeight >= this.offsetThreshold[0] && tempTotalHeight <= this.offsetThreshold[3]) {
continue
}
if (tempTotalHeight < offsetStart) {
containerTop = tempTotalHeight
} else if (tempTotalHeight >= offsetStart && tempTotalHeight <= offsetEnd) {
if (start == false) {
start = true
}
items.push(item) items.push(item)
} else { } else if (tempTotalHeight < this.offsetThreshold[0]) {
if (!end) { containerTop = tempTotalHeight
end = true
}
} }
} }
this.placeholderHeight = tempTotalHeight this.placeholderHeight = tempTotalHeight
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册