清除TextField后如何还原占位符文本

时间:2020-01-17 12:24:55

标签: text swiftui placeholder restore

清除TextField后,在恢复TextField上的占位符文本时遇到问题。

除了我在这里找到的内容以外,还有没有其他更轻松的方法来还原文本了?

Clearing SwiftUI TextField will not restore placeholder

干杯, 奥利弗

1 个答案:

答案 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
        }
    }
}