swift - 试图通过导航链接从视图 1 移动到视图 2。返回视图 1 的尝试暂时显示视图 1 并重新显示视图 2
问题描述
尝试通过 view1 上的导航链接上的按钮更新 view1 中的数字,该按钮显示视图 2 和 TextField 以更改数字。输入更改后,我按Enter。显示暂时更改为 view1,然后返回 view2。数字本身确实发生了变化。
import SwiftUI
struct ContentView: View {
@AppStorage("score") var score = 0
var body: some View {
NavigationView {
Form {
Text("score is \(score)")
}.navigationBarTitle("view1").toolbar {
NavigationLink(
destination: view2( score: $score),
label: { Text("change score") }
)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct view2: View {
@Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
@Binding var score: Int
let formatter: NumberFormatter = {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
return formatter
}()
var body: some View {
Form {
HStack {
TextField("Number: ", value: self.$score,formatter:
formatter, onCommit: {
self.presentationMode.wrappedValue.dismiss()
})
}
}.navigationTitle("view2")
}
}
解决方案
推荐阅读
- c++ - 无法写入串行
- mariadb - MariaDB limit value of column
- docker - 如何链接在 AWS ECS 任务中运行的 2 个容器
- android - 在自定义列表视图中搜索,从工具栏 - Kotlin
- multithreading - 从 Rust 线程中的闭包内传播错误
- python - 在 Python/Pandas 中,检查逗号分隔的字符串是否包含列表中的任何值
- java - Throws clause in main method
- sql - 从 SQL Server 数据库中提取数据时删除 XML 中的非法字符
- msbuild - 如何将 MSBUILD 15 添加到 Windows 注册表
- javascript - 如何用双重嵌套的对象数组不变地更新/替换 React Redux 状态?