我需要有关如何在 SwiftUI 中实现无限列表滚动或分页列表的帮助。提前致谢
最佳答案
最好的选择是使用 .onAppear
并计算是否需要获取下一页。这是一个人为的示例,因为通常您访问的网络或磁盘比这慢得多,但它会给您一个想法。针对您的特定用例调整 getNextPageIfNecessary(_:)
。
@State var rows: [String] = Array(repeating: "Item", count: 20)
var body: some View {
List(0..<rows.count, id: \.self) { index in
Text(verbatim: self.rows[index])
.onAppear {
self.getNextPageIfNecessary(encounteredIndex: index)
}
}
}
private func getNextPageIfNecessary(encounteredIndex: Int) {
guard encounteredIndex == rows.count - 1 else { return }
rows.append(contentsOf: Array(repeating: "Item", count: 20))
}
关于swiftui - 如何在 SwiftUI 或无限 ListView 中实现列表分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58103707/