use*_*668 6 swift swiftui swiftui-ontapgesture
我有一张放在 foreach 循环之外的表。当我第一次单击 Tapgesture 时,结果为空白,第一次之后我点击的每一行都获得了正确的数据。我已阅读ForEach 内的 Sheet 不会循环遍历 SwiftUI 项目,但它仍然无法正常工作,这是我的代码。如果您查看我的代码,我有一个名为sharePost 的状态变量,点击它即可获取value.post的值,然后shareSheet切换设置为 true 。由于某种原因,我无法在第一次点击时获取该值。有谁对解决这个问题有任何建议
struct TimeLineView: View {
@Binding var model: [MainModel]
@Binding var isMainView: MainViewEnum
@State var shareSheet = false
@State var PostIDState = 0
@State var sharePost = ""
var body: some View {
ZStack
{
let result = model.sorted {
$0.id! > $1.id!
}
ForEach(result) { value in
HStack {
Image("share")
.resizable()
.frame(width: 28, height: 28)
.onTapGesture {
sharePost = value.post
shareSheet.toggle()
}
}
}
}.sheet(isPresented: $shareSheet)
{
ShareView(message:"\(sharePost)" )
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 9
要解决此问题,一种解决方案是按以下方式实现图纸修改器:
.sheet(isPresented: Binding(
get: { shareSheet },
set: { shareSheet = $0 }
)) {
ShareView(message:"\(sharePost)" )
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |