SwiftUI: реализация ZStack внутри navigationBarItems показывает ошибку navigationBarItems

Я пытаюсь реализовать ZStack Внутри navigationBarItemsдля загрузки настраиваемого оповещения. Вот моя реализация:

           var body: some View {
        VStack{
            List(self.itemsStore.names){ item in
                Text("hello")
            }
        }
        
        .navigationBarItems(trailing: Button(action: {
            ZStack {
                ItemsAlert(isShown: $isPresented, text: $text)
            }
            
        }, label: {
            Image(systemName: "plus")
        }))
    }

В этой строке я получаю такую ​​ошибку:

https://i.stack.imgur.com/c7quJ.png

Кто-нибудь из вас знает, почему я получаю это предупреждение? или если есть обход этой ошибки?

Я очень признателен за вашу помощь

1 ответ

Вы не можете закрыть представление SwiftUI - это не имеет смысла, представление должно быть в иерархии представлений, кнопка может активировать состояния для управления представлениями, например

var body: some View {
    ZStack {
        ItemsAlert(isShown: $isPresented, text: $text)
        
        VStack{
           List(self.itemsStore.names){ item in
               Text("hello")
           }
        }
    }

    
    .navigationBarItems(trailing: Button(action: {
       self.isPresented = true    // << activate state            
    }, label: {
        Image(systemName: "plus")
    }))
}
Другие вопросы по тегам