SwiftUI-按钮-如何将函数(带参数)请求从子级传递给父级



我已经知道如何从子函数调用父函数,但如果父函数有参数,我该怎么办?我想不通。。。

无参数工作代码:

struct ChildView: View {
var function: () -> Void
var body: some View {
Button(action: {
self.function()
}, label: {
Text("Button")
})
}
}
struct ContentView: View {
var body: some View {
ChildView(function: { self.setViewBackToNil() })
}
func setViewBackToNil() {
print("I am the parent")
}
}

现在我想在setViewBackToNil(myStringParameter:String(中添加一个String参数

好的,我设法解决了它。

您可以在父级中使用@State变量,并将其传递给子级。然后,在子视图中更改它之后,调用从父级传递的函数(不带参数(,并在父级中获取函数内部的@State。