Что не так в приведенном ниже коде, который мешает Отображение оповещения Переустановить переменную обратно в ложь при отклонении оповещения?
Возможно, мне не хватает некоторой точки, которая имеет что-то иметь дело с onreceive модификатором ...
Вот пример кода.
import SwiftUI
import Combine
struct ContentView: View {
@State private var showingAlert = false
@State private var myValue: String = ""
var body: some View {
VStack {
Text(showingAlert ? "T" : "F")
TextField("placeholder", text: $myValue)
.onReceive(Just(myValue)) { newValue in
self.showingAlert = true
}
}
.alert(isPresented: $showingAlert) {
Alert(title: Text("Important message"), message: Text("SOME VALUE..."), dismissButton: .default(Text("Got it!")))
}
}
}
Кстати, он не будет работать, если вы попытаться заставить так:
...
.alert(isPresented: $showingAlert) {
Alert(title: Text("Important message"), message: Text("SOME VALUE..."), dismissButton: .default(Text("Got it!")) {
self.showingAlert = false
})
}
...
Заранее спасибо и благословил всех на Пасху ...
GpE