【发布时间】:2022-01-15 23:45:44
【问题描述】:
在 SwiftUI 的 TextField 上,您可以使用 .onSubmit() 修饰符为键盘的返回/提交按钮设置操作。您如何使用TextEditor 实现相同的目标? (.onSubmit() 似乎不起作用。)
【问题讨论】:
标签: swiftui swiftui-texteditor
在 SwiftUI 的 TextField 上,您可以使用 .onSubmit() 修饰符为键盘的返回/提交按钮设置操作。您如何使用TextEditor 实现相同的目标? (.onSubmit() 似乎不起作用。)
【问题讨论】:
标签: swiftui swiftui-texteditor
您可以对TextEditor 的绑定变量使用 on change,如下所示:
TextEditor(text: $text)
.onChange(of: text) { _ in
if !text.filter({ $0.isNewline }).isEmpty {
print("Found new line character")
}
}
意识到TextEditor 本身没有提交按钮。它旨在接受无限量的各种文本。
【讨论】:
这是您的解决方案:
onCommit:当用户按下 Return 键时,TextField 会调用 onCommit 闭包。
【讨论】:
TextEditor,而不是TextField。此外,.onCommit 已被弃用,取而代之的是 OP 讨论的.onSubmit。