swiftui 嵌套 foreach 报错,请教大神帮忙看看

40 天前
 sunshinev
    var playResource: some View {
        LazyVStack(alignment: .leading) {
            
            ForEach(detailViewModel.videoDetail.ResourceModuleList, id: \.id) { item in
                LazyVStack {
                    Text(item.title)
                    ForEach(item.links, id:\.id) { a in
                        LazyHStack {
                            Button {
                                
                            } label: {
                                Text(a.title)
                            }
                        }
                    }
                }
            }
        }
    }

报错文案: Cannot convert value of type '[ResourceLink]' to expected argument type 'Binding<C>'

请问这是什么原因呀?

1293 次点击
所在节点    程序员
3 条回复
lx01xsz
40 天前
缺少上下文啊, 报错的源头貌似不是这
ma46
40 天前
是要用 binding 类型吧, 就是那个美元符号的
Mephisto233
39 天前
缺少上下文,看不出来,或者你把 detailViewModel.videoDetail.ResourceModuleList 和 item.links 里面的模型实现 Identifiable 协议 ,然后代码改成:

```
ForEach(detailViewModel.videoDetail.ResourceModuleList) { item in
...
ForEach(item.links) { a in
.....
}
}
```
再试试呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1031387

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX