Как восстановить заполнитель текста, когда TextField очищен - PullRequest
2 голосов
/ 17 января 2020

У меня возникла проблема с восстановлением текста-заполнителя в TextField после очистки TextField.

Существуют ли менее хакерские способы восстановления текста, чем я нашел здесь?

Очистка SwiftUI TextField не восстановит заполнитель

Приветствия, Оливер

1 Ответ

4 голосов
/ 17 января 2020

Как я уже писал в других топиках c, это текущий дефект 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
        }
    }
}
...