Как отобразить текстовое сообщение в центре представления, когда источник данных List пуст в SwiftUI? - PullRequest
0 голосов
/ 28 марта 2020
struct LandmarkList: View {
    var body: some View {
        NavigationView {
            List(landmarkData) { landmark in
                LandmarkRow(landmark: landmark)
            }
        }
    }
}

Я хочу отобразить сообщение в центре представления, когда представление списка (представление таблицы) пусто. Каков наилучший способ добиться этого в SwiftUI. Является ли проверка количества источников данных в "onAppear" и установка какого-либо значения Bool правильным подходом?

Ответы [ 2 ]

1 голос
/ 28 марта 2020
struct LandmarkList: View {
    var body: some View {
        NavigationView {
            if landmarkData.count == 0 {
              VStack {
                Text("is empty")
              } else {
              List(landmarkData) { landmark in
                 LandmarkRow(landmark: landmark)
              }
           }
        }
    }
}
0 голосов
/ 28 марта 2020

Я бы просто попробовал оператор if else. Если landmarkdata равен нулю или count = 0, показать текст. Остальное покажи список.

...