SwiftUI не похож на Какао.Он не управляется событиями, и нет связи от одного объекта интерфейса к другому.Есть только данные .Потоки данных через переменные состояния .Он вверх по привязке переменной состояния и вниз по значению переменной состояния .
Так что вы неТебе нужно событие onEditingChanged
или любое другое событие.$totalAmount
является привязкой .Он изменяется при изменении текста текстового поля: автоматически .
Более того, totalAmount
- это переменная состояния . Если текст использует это в качестве своего значения, прямо или косвенно, текст изменяется автоматически при изменении totalAmount
,
Так что просто используйте вычисляемую переменную, которая зависит от totalAmount
, и установите значение Text, и все готово.
Очень простой пример:
struct ContentView : View {
@State var totalAmount = ""
let addAmount = 10.0 // or whatever
var calc : Double { (Double(totalAmount) ?? 0.0) + addAmount } // or whatever
var body: some View {
HStack {
TextField("Type a number", text: $totalAmount)
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(width:100)
Text(String(self.calc))
}
}
}