Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SwiftUI中从两个不同的视图分支发送事件?_Swiftui - Fatal编程技术网

如何在SwiftUI中从两个不同的视图分支发送事件?

如何在SwiftUI中从两个不同的视图分支发送事件?,swiftui,Swiftui,我正在为macOS构建一个SwiftUI应用程序,然后我遇到了以下挑战 给定如下视图层次结构: 它基本上显示了ElementListView中的元素集合。然后使用FiltersView搜索新元素以可能添加到元素列表中,该搜索的结果显示在类似FilterRow的行中 当用户单击FilterRow时,这意味着我想向ElementListView添加一个新元素,但我不确定如何在SwiftUI中视图层次结构的两个分支之间传播事件? 如果我要在纯AppKit中实现这一点,我可能会使用responder链

我正在为macOS构建一个SwiftUI应用程序,然后我遇到了以下挑战

给定如下视图层次结构:

它基本上显示了
ElementListView
中的元素集合。然后使用
FiltersView
搜索新元素以可能添加到元素列表中,该搜索的结果显示在类似
FilterRow
的行中

当用户单击
FilterRow
时,这意味着我想向
ElementListView
添加一个新元素,但我不确定如何在SwiftUI中视图层次结构的两个分支之间传播事件?


如果我要在纯AppKit中实现这一点,我可能会使用responder链,但我想这不是快速的实现方式。

您可以为过滤器和列表视图创建一个共享的ObserveObject。只要ObserveObject更改,SwiftUI就会更新连接到它的视图。

是的,这很有意义。。。这就是我们在swiftUI上需要的思维转变