Добавить представление в contentView с помощью функции swiftUI не работает - PullRequest
0 голосов
/ 27 апреля 2020

У меня была функция, которая будет иметь Text (). Я вызвал функцию внутри тела, но не показывает.

struct ContentView: View {
var body: some View {
    Text("").onAppear(perform: data)   
}

func data() {
    Text("sweet")
}

}

1 Ответ

0 голосов
/ 27 апреля 2020

не ясно, что вы пытаетесь сделать, но вы не можете показать текст ("сладкий"), используя ваш подход. Попробуйте:

@State var txtData = ""
var body: some View {
        Text(txtData).onAppear(perform: doData)
}
func doData() {
    self.txtData = "sweet"
}

или:

@State var showText = false
var body: some View {
    Group {
        Text("xxxx").onAppear(perform: doShowText)
        if showText {
            Text("sweet")
        }
    }
}
func doShowText() {
    self.showText = true
}

или вариант этого:

@State var myStuff = [AnyView]()
@State var txtfield = ""
var body: some View {
    List {
        ForEach(self.myStuff.indices, id: \.self) { i in
            self.myStuff[i]
        }
    }.onAppear(perform: loadData)
}
func loadData() {
    self.myStuff.append(AnyView(Text("text 1")))
    self.myStuff.append(AnyView(TextField("textfield 1", text: $txtfield)))
}
...