SwiftUI:关闭后列表数据消失 sheet

SwiftUI: List data dissapears after you dismiss sheet

我有一个水平图像列表。导航栏中还有一个 profile/settings 小按钮。当您单击个人资料按钮时,sheet 视图会向上滑动,当您关闭它时,列表似乎会丢失它的单元格(基本上是其他图像的 HStacks)

这是显示 sheet 和列表

的代码
    var body: some View {
        NavigationView {
            List {
                ForEach(0..<self.categories.count) {
                    ExploreRow(title: self.categories[[=11=]])
                }
            }
            .navigationBarTitle("Justview")
            .navigationBarItems(trailing: profileButton)
            .sheet(isPresented: self.$showingProfile) {
                Text("User Profile: \(self.userData.userProfile.username)")
            }
        }
    }

ExploreRow 本质上是滚动视图中的水平堆栈,显示从网络加载的图像。

之前 Sheet 图片:

Sheet 关闭图片后:

我假设 List 中的 categories 不多(因为它们不应该很多),所以最简单的就是强制重建列表(假设你没有做任何沉重的事情在 ExploreRow.init 中,喜欢

List {
    ForEach(0..<self.categories.count) {
        ExploreRow(title: self.categories[[=10=]])
    }.id(UUID())
}
.navigationBarTitle("Justview")

*问题是由于 List 的缓存重用行视图引起的,这是已知的。