iOS: Listen beim Zurueckkommen neu laden (Bestand nicht mehr veraltet)
Nach dem Anlegen eines Einzelstuecks im Detail zeigte die Produktliste weiter "Bestand 0", weil sie nicht aktualisiert wurde (das Stueck war aber gespeichert). Produkt- und Einzelstueckliste laden jetzt bei jedem Erscheinen neu (onAppear), auch beim Zurueckkommen aus der Detailansicht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -102,7 +102,8 @@ struct ItemListView: View {
|
|||||||
.toolbar { ToolbarItem(placement: .topBarTrailing) { filterMenu } }
|
.toolbar { ToolbarItem(placement: .topBarTrailing) { filterMenu } }
|
||||||
.overlay { if busy && items.isEmpty { ProgressView() } }
|
.overlay { if busy && items.isEmpty { ProgressView() } }
|
||||||
.refreshable { await load() }
|
.refreshable { await load() }
|
||||||
.task { await load() }
|
// Auch beim Zurückkommen aus dem Einzelstück neu laden (z.B. Lagerort geändert).
|
||||||
|
.onAppear { Task { await load() } }
|
||||||
.alert("Fehler", isPresented: Binding(get: { error != nil }, set: { if !$0 { error = nil } })) {
|
.alert("Fehler", isPresented: Binding(get: { error != nil }, set: { if !$0 { error = nil } })) {
|
||||||
Button("OK", role: .cancel) {}
|
Button("OK", role: .cancel) {}
|
||||||
} message: { Text(error ?? "") }
|
} message: { Text(error ?? "") }
|
||||||
|
|||||||
@@ -348,10 +348,11 @@ struct ProductListView: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.task {
|
.task { categories = (try? await APIClient.shared.categories()) ?? [] }
|
||||||
categories = (try? await APIClient.shared.categories()) ?? []
|
// Bei jedem Erscheinen neu laden – auch beim Zurückkommen aus der
|
||||||
await load()
|
// Detailansicht, damit ein dort geänderter Bestand (z.B. neu angelegte
|
||||||
}
|
// Einzelstücke) sofort stimmt und nicht „0" hängen bleibt.
|
||||||
|
.onAppear { Task { await load() } }
|
||||||
}
|
}
|
||||||
|
|
||||||
private func pick(_ id: Int?) {
|
private func pick(_ id: Int?) {
|
||||||
|
|||||||
Reference in New Issue
Block a user