我已经知道如何从子函数调用父函数,但如果父函数有参数,我该怎么办?我想不通。。。
无参数工作代码:
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。