У меня есть родительское представление (Content View), содержащее массив целых чисел,
Функция переключателя представлений внутри родительского элемента переключает дочернее представление в зависимости от значения целого числа в массиве.
Проблема заключается в том, что 'view1' повторно представлен (после того, как был представлен ранее), представление не перерисовывается, а текст в текстовом поле остается заполненным.
Как я могу перерисовать каждое дочернее представление раз вызывается функция переключения?
спасибо
struct ContentView: View {
var views = [2,1,1]
@State var currentView = 0
var body: some View {
VStack{
viewSwitcher()
}
}
func viewSwitcher() -> AnyView {
switch views[currentView] {
case 1:
return AnyView(view1(currentView: self.$currentView))
case 2:
return AnyView(view2(currentView: self.$currentView))
default:
return AnyView(EmptyView())
}
}
}
struct view1:View {
@State var textInput: String = ""
@Binding var currentView: Int
var body: some View {
VStack{
Text("View 1")
TextField("Enter Text", text: self.$textInput)
Button(action: {
self.currentView += 1
}){
Text("Submit")
}
}
}
}
struct view2:View {
@Binding var currentView: Int
var body: some View {
VStack{
Text("View 2")
Button(action: {
self.currentView += 1
}){
Text("Submit")
}
}
}
}