Я создаю представление списка с помощью кнопки в верхнем слое. Я хочу скрыть кнопку сразу же после того, как пользователь нажмет NavigationLink и не увидит ее в подробном представлении.
Я успешно реализую его с помощью @State var showAddButton
и управляю им с помощью действий onDisappear
и onAppear
, как показано ниже, но кнопка не исчезнет, если основной вид не исчезнет полностью.
Есть ли у кого-нибудь другое решение для запуска других действий и сохранения исходного действия ссылки NavigationLink?
@State var showAddButton = true
var body: some View {
ZStack{
NavigationView{
List{
ForEach(items, id: \.id){ item in
NavigationLink(destination: WorkItemDetailView(item: item)){
WorkItemListRow(item: item)
}.onDisappear{self.showAddButton = false}
.onAppear{self.showAddButton = true}
}
}
.navigationBarTitle("List", displayMode: .inline)
}
if showAddButton {
FloatAddButton()
}
}
}