如何在按钮单击时在 SwiftUI 中为 TextField 设置文本

Posted

技术标签:

【中文标题】如何在按钮单击时在 SwiftUI 中为 TextField 设置文本【英文标题】:How to set text for TextField in SwiftUI on button click 【发布时间】:2019-12-13 06:09:40 【问题描述】:

我想在单击按钮时为SwiftUI 中的Textfield 设置文本。我尝试使用@State 变量,但它给出错误

【问题讨论】:

您能发布到目前为止您尝试过的内容吗? //TextFields 状态 @State var textFieldText:String = "" //TextField 代码 TextField("Enter some text", text: $textFieldText) .padding(.all, 9.0) .frame(width : 350, height: 50.0) .onTapGesture(count: 1, perform: print("=====Tapped======") ) .border(Color.green, width: 4) .keyboardType( .nu​​mberPad) .cornerRadius(10) //On button Click self.$textFieldText = "Changed Text" 【参考方案1】:

试试下面的代码(在 Xcode 中测试:11.2.1)

struct ContentView: View 

   @State var name: String = ""
   var body: some View 

       VStack 
           TextField("Please enter", text: $name)
           Button(action: 
               self.name = "Hello text"
           ) 
               Text("Press")
           
       
   

【讨论】:

【参考方案2】:

您可以创建类似按钮的动作

@State var name: String = "My Name is jack"

   var body: some View 

       VStack 
           TextField("Name:", text: $name)
           Button(action: 
               self.name = "My Name is Tim"
           ) 
               Text("Change Name")
           
       
   

【讨论】:

以上是关于如何在按钮单击时在 SwiftUI 中为 TextField 设置文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击按钮时在 extjs 中敲击特定行

如何在swift / SwiftUI中为滑动手势设置菜单栏图标的操作

如何在单击按钮时在android中从3G切换到2G

在 SwiftUI 的 Picker 中添加新元素

如何从导航栏按钮导航到新视图在 SwiftUI 中单击

如何在单击 CF7 提交按钮时在弹出窗口中显示 grecaptcha?