我试图将值从第一个视图中的文本框传递到第二个视图中的文本框.

struct FirstView: View {
@State private var inputTextValue = ""
var body: some View {        
    NavigationView{
        VStack {
            TextField("",text: $inputTextValue)
                .frame(width: 200, height: 30, alignment: .center)
                .border(.gray)
            NavigationLink(destination: {SecondView(incomingTextFieldvalue: inputTextValue)}, label: {Text("To second view")})
        }
    }
}


struct SecondView: View {
var incomingTextFieldvalue: String
@State var textFieldValue = "Initial Value in view 2"
var body: some View {
    VStack {
        Spacer()
        TextField("",text: $textFieldValue)
            .frame(width: 200, height: 30, alignment: .center)
            .border(.gray)
        Spacer()
        Text("Incoming value: \(incomingTextFieldvalue)")
        Text("This value: \(textFieldValue)")
        
        Spacer()
    }
}

所以,我想要的是,第二个视图中的文本框最初填充了传递的值.

我try 了各种解决方案,但都没有得到我需要的解决方案.如果我需要提供更多信息,请告诉我.

推荐答案

我们可以将传入值设置为onAppear的内部值,如

VStack {
    Spacer()
    TextField("",text: $textFieldValue)
        .frame(width: 200, height: 30, alignment: .center)
        .border(.gray)
    Spacer()
    Text("Incoming value: \(incomingTextFieldvalue)")
    Text("This value: \(textFieldValue)")

    Spacer()
}
.onAppear { textFieldValue = incomingTextFieldvalue }   // << here !!

使用Xcode 13.4/iOS 15.5测试

*(当然,如果你不想分享,这还不清楚)

Ios相关问答推荐

如何将Safari调试器附加到Turbo-iOS原生应用中的模拟器

UITableViewCell编程约束问题

自定义UIControl不适用于UITapGestureRecognizer

GraphQL iOS Apollo客户端自动持久化查询导致崩溃

如何防止UITest套件与Fastlane一起执行?

SwiftUI标题/标题文本背景 colored颜色 屏幕宽度

iOS 17-在Xcode 15中添加导航控制器时,导航栏不会立即显示

在flatter_riverpod中,如果没有ref对象,我们如何访问提供程序?

SwiftData共享扩展阻止应用程序打开SQLite文件

执行devicectl:ProcessException时出错:进程异常退出:错误:命令超时超过5.0秒

在 iOS 上启用明文本地流量在 .NET MAUI 中不起作用

滚动 swiftUI 列表时,未调用单元格的任务修饰符.怎么修?

弹出视图后使所有背景 UI 模糊

快速禁用 UITextfield 的用户输入

ARKit vs. ARCore vs. Vuforia vs. D'Fusion Mobile vs. Layar SDK

在 Grand Central Dispatch 中使用 dispatch_sync

iOS 10 错误:UICollectionView 接收到具有不存在索引路径的单元格的布局属性

如何以编程方式切换 UISegmentedControl?

Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序

为所有 UIImageViews 添加圆角