Итак, я хотел бы создать собственное представление и добавить функцию. Как я могу реализовать такую функцию, как .onAppear(perform: (() -> Void)?)? Мой код не работает, закрытие onDismiss не вызывает DashboardView.
struct DashboardView: View {
@State var employees = ["Alex", "Olga", "Mark"]
@State var presentEmployeeView = false
var body: some View {
NavigationView {
List {
Section {
Button(action: {
self.presentEmployeeView = true
}, label: {
Text("All employees")
}).buttonStyle(BorderlessButtonStyle())
}
}
}
.sheet(isPresented: $presentEmployeeView) {
EmployeesView(employees: self.employees).onDismiss {
self.presentEmployeeView = false
}
}
}
}
struct EmployeesView: View {
let employees: [String]
@State private var onDismissClosure: (() -> Void)? = nil
func onDismiss(perform action: (() -> Void)? = nil) -> some View {
self.onDismissClosure = action
return self
}
var body: some View {
NavigationView {
List {
ForEach(employees) { employee in
EmployeeCell(employee: employee)
}
}.navigationBarItems(leading:
Button(action: {
self.onDismissClosure?()
}, label: {
Text("Close")
})
)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/610 ... in-swiftui
Как реализовать такую функцию, как onAppear, в SwiftUI? ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
SwiftUI Navigation Путь инициализации стека с onAppear не отображает правильный экран
Anonymous » » в форуме IOS - 0 Ответы
- 57 Просмотры
-
Последнее сообщение Anonymous
-