// 加载更多
function loadMore () {
// 1.找到当前最后一个文件夹
let lastIndex = 0
const lastResult = resultList.value[resultList.value.length - 1]
for (let i = 0; i < folderList.value.length; i++) {
const name = folderList.value[i]
if (name == lastResult) {
lastIndex = i
break
}
}
console.log(`${lastIndex + 1} -- ${lastIndex + pageSize + 2} -- ${folderList.value.length}`);
// 2.再次从整体数据当中截取一定数据
const array = folderList.value.slice(lastIndex + 1, lastIndex + pageSize + 2 <= folderList.value.length ? lastIndex + pageSize + 2 : folderList.value.length)
console.log(array);
// 3.将数据拼接到结果(渲染)列表中
resultList.value = [...resultList.value, ...array]
}
我在使用这个方式修改这个resultList数据源的时候,iOS总是崩溃,安卓倒是没问题,拿到ips,分析原因就是说数据源不一致,但是这样子更新有什么问题么,我是一次性获取了全部的数据,但是显示是分批显示的,这样是为了减少渲染压力,我在加载的时候我会从整体数据再截取一段数据出来赋值给数据源,但是为什么iOS会崩溃呢,好急,主要问题就是这一行resultList.value = [...resultList.value, ...array]
kld (作者)
https://issues.dcloud.net.cn/pages/issues/detail?id=22861我有提供所有详细代码,示例工程,复现视频,详情看这个issuse
2025-10-31 11:19
DCloud_iOS_XHY
回复 kld: 问题已处理,下次发版会修复
2025-10-31 17:37