我TextField在Lista 里面有一个NavigationView,声明如下:
NavigationView {\n List {\n Section("Item Name") {\n TextField("", text: $itemName)\n .textInputAutocapitalization(.sentences)\n .disableAutocorrection(false)\n .textFieldStyle(.plain)\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n在.onAppear的方法中NavigationView,我设置了文本字段的文本变量,该变量是用 声明的@State,如下所示:
@State var itemName: String = ""\nRun Code Online (Sandbox Code Playgroud)\n和:
\n.onAppear {\n itemName = "Hello, World!"\n}\nRun Code Online (Sandbox Code Playgroud)\n文本设置正确,但文本字段以某种方式不刷新\xe2\x80\x99。我可以这么说,因为我可以访问文本字段的文本属性并获取更新的值,并且当用户点击文本字段进行编辑时,文本会突然出现。
\n在我看来,当变量更改时文本字段更新其视图是一个问题。我是否必须调用 UIKit 的 SwiftUI 等效项layoutSubviews?或者我声明我的itemName变量是错误的?
最小可重复示例 (MRE):
\nstruct ItemView: View {\n\n @State var itemName: String = ""\n\n var body: some View {\n …Run Code Online (Sandbox Code Playgroud)