Swiftui 编辑文本编辑器快捷界面

Swiftui 编辑文本编辑器快捷界面,swiftui,binding,text-editor,Swiftui,Binding,Text Editor,我试图从另一个视图编辑绑定值的文本。但文本编辑器不允许我这样做 首先,我需要在TextEditor中查看selectedNote.title的上一个值,然后我应该能够编辑标题 struct EditNotePageView: View { @Binding var selectedNote: CDNoteModel! @State var text = "" var body: some View { TextEditor(select

我试图从另一个视图编辑绑定值的文本。但文本编辑器不允许我这样做

首先,我需要在TextEditor中查看selectedNote.title的上一个值,然后我应该能够编辑标题

struct EditNotePageView: View {
    @Binding var selectedNote: CDNoteModel!
    @State var text = ""
    var body: some View {
        TextEditor(selectedNote.title!, text: $text)
    }
}
我也试过这样。我可以在模拟器中看到我选择的note.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行在“我已删除”的调用中给出了一个Ëxtran参数错误,但我在TextEditor上没有看到任何内容。它无法获取selectedNote.title值并首先显示它。title给出了一个错误“无法将类型“Binding”的值转换为预期的参数类型“Binding”“是的,太糟糕了,你的CDNoteModel.title应该是字符串,否则它不起作用。它是字符串。”。我上传了一张图片,我可以像这样在模拟器中看到我的标题。文本(selectedNote.title!)我解决不了它