如何解决多行文本字段与警报配对会删除文本
因此,我正在开发适用于iOS 13的基本应用,您可以在其中创建可以在日历上看到的事件。当前正在屏幕上创建和事件。我正在使用带有文本字段的表单,并且需要一个可以输入多行的文本字段(例如html中的文本区域)。
我找到了此资源How do I create a multiline TextField in SwiftUI?(Asperi的解决方案),并且一直在使用它来创建我的文本字段。
当前,我在窗体内有文本字段,并且在窗体底部有一个按钮,稍后将创建一个事件。现在,该按钮可以简单地警告multilinetextfield中的文本。
我的代码:
struct CreateEventView: View {
@State private var title: String = ""
@State private var dateTime = Date()
@State private var location: String = ""
private static var description: String = ""
private static var descriptionBinding = Binding<String>(get: { description },set: { description = $0 } )
@State private var showingAlert: Bool = false
private var createEventStatus: String = ""
private var createEventMsg: String = ""
var body: some View {
NavigationView {
Form {
Section(header: Text("EVENT TITLE")) {
TextField("eg. My fun event",text: $title)
}
Section(header: Text("DATE & TIME")) {
DatePicker("Event Date & Time:",selection: $dateTime,in: Date()...)
.datePickerStyle(WheelDatePickerStyle())
.labelsHidden()
}
Section(header: Text("LOCATION")) {
TextField("eg. UTSC",text: $location)
}
Section(header: Text("DESCRIPTION")) {
MultilineTextField("eg. This is a fun event!",text: CreateEventView.descriptionBinding)
}
Section() {
HStack {
Spacer()
Button(action:{
// TODO
print(CreateEventView.description)
self.showingAlert = true
}) {
Text("Create")
}
.alert(isPresented: $showingAlert) {
Alert(title: Text(CreateEventView.description),message: Text(createEventMsg),dismissButton: .default(Text("Confirm")))
}
Spacer()
}
}
}.navigationBarTitle("Create an event")
}
}
在此视图上工作时,我只是在ContentView中显示它。当我按下创建按钮时,MultilineTextField中的最后一行文本将被擦除(如果其中的文本为“ aaa \ nbbb”,则其将被擦除为“ aaa \ n”。当我按下按钮时,我不会更改文本
这是我第一次构建iOS应用,因此我不确定为什么会这样。任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。