获得 SwiftUI Picker() 选择以更新应用程序状态更改的最佳方法是什么?

问题描述

我正在尝试使用 SwiftUI 制作一个 UI,该 UI 列出了一系列可以是不同类型并且每个都可以更新的内容。我想使用 Picker 在 UI 中设置类型,并且我还希望在以其他方式修改项目时更新视图(例如,从 UI 的另一部分或通过网络)。>

我喜欢“redux”风格的设置,我不想抛弃它。

这是一个简单的例子,显示了两个项目,每个项目都有一个随机化”按钮,可以随机更改项目,还有一个选择器,可以让您选择新的项目类型。后者按预期工作:Picker 更改 @State var,商店更新等。“随机化”按钮更新商店和 let 属性标签,但 {{1 }} 和 @State 不更新。

我希望得到一些关于让它按照我想要的方式工作的好方法的建议。

Picker

解决方法

尝试更改此行:

@State var localLabel: ItemState

@Binding var localLabel: ItemState

并将其传递到您的 ItemView init 中:

ItemView(
    index: index,label: store.state[index],localLabel: $store.state[index],dispatch: store.reduce
)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...