清除TextField后,在恢复TextField上的占位符文本时遇到问题。
除了我在这里找到的内容以外,还有没有其他更轻松的方法来还原文本了?
Clearing SwiftUI TextField will not restore placeholder
干杯, 奥利弗
答案 0 :(得分:5)
正如我在其他主题中所写的那样,这是当前的SwiftUI缺陷,因此目前仅可解决方法。
这是一个对我有用的简单方法(我喜欢这种方法,因为即使在该区域进行了一些修复/更改后,它仍然有效):
@State private var text: String = ""
@State private var refresh = false
var body: some View {
VStack {
TextField("Placeholder" + (refresh ? "" : " "), text: $text)
Divider()
Button("Clear") {
self.text = ""
self.refresh.toggle() // << force refresh placeholder explicitly
}
}
}