SwiftUI:在编辑开始时清除文本字段

SwiftUI:在编辑开始时清除文本字段,swiftui,textfield,Swiftui,Textfield,编辑开始时,如何清除TextField的内容 我试图阅读Apple文档并搜索所有类似的问题,但找不到答案。onEditingChange参数使用单个Bool参数进行闭包,如果为真,则TextField已开始编辑该参数。在闭包中,检查参数的值,如果为true,则清除TextField变量。在代码中,如下所示: import SwiftUI import PlaygroundSupport struct MyTextView: View { @State private var text

编辑开始时,如何清除TextField的内容


我试图阅读Apple文档并搜索所有类似的问题,但找不到答案。

onEditingChange参数使用单个Bool参数进行闭包,如果为真,则TextField已开始编辑该参数。在闭包中,检查参数的值,如果为true,则清除TextField变量。

在代码中,如下所示:


import SwiftUI
import PlaygroundSupport

struct MyTextView: View {
    @State private var text1: String = "Some Content"
    @State private var text1Placeholder: String = ""
    @State private var text2: String = ""
    var body: some View {
        VStack(alignment: HorizontalAlignment.center, spacing: 20) {

            Image(systemName: "circle")
            TextField( self.$text1Placeholder.wrappedValue, text: $text1, onEditingChanged: { (editing) in
                if editing {
                    self.$text1Placeholder.wrappedValue
                        = self.$text1.wrappedValue 
                    self.$text1.wrappedValue = ""
                }
            })
            TextField("Text Field 2", text: $text2)
            .border(Color.green)

        }.padding()

    }
}

PlaygroundPage.current.liveView = UIHostingController(rootView: MyTextView())


设置self.text1=”“后,如何将text1的当前值显示为TextField的占位符?我编辑了与您的其他问题相关的答案。