编辑文本编辑器 SwiftUI
Edit Text Editor SwiftUI
我正在尝试从另一个视图编辑绑定值的文本。但是文本编辑器不允许我这样做。
首先,我需要在 TextEditor 中查看 selectedNote.title 的先前值,然后我应该能够编辑标题。
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
TextEditor(selectedNote.title!, text: $text)
}
}
我也这样试过。我可以在模拟器中看到我的 selectedNote.title,但是当我点击它时它什么也没做。
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
Text(selectedNote.title!)
.onTapGesture {
text = selectedNote.title!
TextEditor(text: $text)
}
}
}
您可以使用 onChange
属性
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
TextEditor("", text: $text)
.onChange(of: text, perform: { value in
selectedNote.title = value
}
}
}
你可以试试这个:
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel
var body: some View {
TextEditor(text: $selectedNote.title)
}
}
ZStack Text 和 textEditor 用一点 .onAppear 解决了这个问题
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
ZStack(alignment: .leading){
Text(selectedNote.title!)
.onAppear {
text = selectedNote.title!
}
TextEditor(text: $text)
}
}
}
我正在尝试从另一个视图编辑绑定值的文本。但是文本编辑器不允许我这样做。
首先,我需要在 TextEditor 中查看 selectedNote.title 的先前值,然后我应该能够编辑标题。
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
TextEditor(selectedNote.title!, text: $text)
}
}
我也这样试过。我可以在模拟器中看到我的 selectedNote.title,但是当我点击它时它什么也没做。
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
Text(selectedNote.title!)
.onTapGesture {
text = selectedNote.title!
TextEditor(text: $text)
}
}
}
您可以使用 onChange
属性
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
TextEditor("", text: $text)
.onChange(of: text, perform: { value in
selectedNote.title = value
}
}
}
你可以试试这个:
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel
var body: some View {
TextEditor(text: $selectedNote.title)
}
}
ZStack Text 和 textEditor 用一点 .onAppear 解决了这个问题
struct EditNotePageView: View {
@Binding var selectedNote: CDNoteModel!
@State var text = ""
var body: some View {
ZStack(alignment: .leading){
Text(selectedNote.title!)
.onAppear {
text = selectedNote.title!
}
TextEditor(text: $text)
}
}
}