清除 TextField 时如何恢复占位符文本
How to restore placeholder text when TextField is cleared
我在清除 TextField 后恢复 TextField 上的占位符文本时遇到问题。
除了我在这里找到的方法之外,还有其他更简单的恢复文本的方法吗?
干杯,
奥利弗
固定在 iOS 15
*考虑以下仅支持旧版本
正如我在其他主题中所写,这是当前的 SwiftUI 缺陷,因此目前只有解决方法是可能的。
这是一个对我有用的简单方法(我更喜欢这种方法,因为即使在该地区 fixes/changes 之后它仍然有效):
@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
}
}
}
我在清除 TextField 后恢复 TextField 上的占位符文本时遇到问题。
除了我在这里找到的方法之外,还有其他更简单的恢复文本的方法吗?
干杯, 奥利弗
固定在 iOS 15
*考虑以下仅支持旧版本
正如我在其他主题中所写,这是当前的 SwiftUI 缺陷,因此目前只有解决方法是可能的。
这是一个对我有用的简单方法(我更喜欢这种方法,因为即使在该地区 fixes/changes 之后它仍然有效):
@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
}
}
}