Estou fazendo um pequeno app em FLET para aprender (seguindo um tutorial), porém, ao tentar fazer um dialog de confirmação para exclusão, o mesmo não aparece quando clico no botão de excluir. Alguém tem alguma ideia? import flet as ft from controller.produto_controller import ProdutoController def produto_list_view(page): lista_produtos = ft.Column(expand=True, scroll=ft.ScrollMode.AUTO) # Variável para armazenar o ID do produto a ser excluído id_produto_excluir = None # Função para mostrar o diálogo de confirmação def show_delete_dialog(id_produto): nonlocal id_produto_excluir id_produto_excluir = id_produto # Cria o diálogo dialog = ft.AlertDialog( modal=True, title=ft.Text("Confirmação"), content=ft.Text(f"Deseja realmente excluir o produto {id_produto}?"), actions=[ ft.TextButton("Sim", on_click=confirmar_exclusao), ft.TextButton("Cancelar", on_click=fechar_dialogo), ], ) # Mostra o diálogo page.dialog = dialog dialog.open = True page.update() def confirmar_exclusao(e): nonlocal id_produto_excluir fechar_dialogo() if id_produto_excluir and ProdutoController.excluir_produto(id_produto_excluir): carregar_produtos() page.snack_bar = ft.SnackBar(ft.Text("Produto excluído com sucesso!")) page.snack_bar.open = True else: page.snack_bar = ft.SnackBar(ft.Text("Erro ao excluir produto!")) page.snack_bar.open = True page.update() id_produto_excluir = None def fechar_dialogo(e=None): if page.dialog: page.dialog.open = False page.update() def carregar_produtos(): produtos = ProdutoController.listar_produtos() lista_produtos.controls.clear() for produto in produtos: lista_produtos.controls.append( ft.Card( content=ft.Container( content=ft.Column([ ft.ListTile( leading=ft.Image(src_base64=produto['imagem'], width=50, height=50) if produto['imagem'] else ft.Icon(ft.icons.INVENTORY), title=ft.Text(produto['nome']), subtitle=ft.Text(f"R$ {produto['preco']:.2f}"), trailing=ft.PopupMenuButton( icon=ft.icons.MORE_VERT, items=[ ft.PopupMenuItem(icon=ft.icons.EDIT, text="Editar", on_click=lambda e, id=produto['id']: editar_produto(id)), ft.PopupMenuItem(icon=ft.icons.DELETE, text="Excluir", on_click=lambda e, id=produto['id']: show_delete_dialog(id)), ] ) ), ft.Divider(height=1) ]), padding=10, ), elevation=5, margin=ft.margin.only(bottom=10) ) ) page.update() def editar_produto(id): page.route = f"/produto/{id}" page.update() def novo_produto(e): page.route = "/produto/novo" page.update() carregar_produtos() return ft.View( route="/", controls=[ ft.AppBar( title=ft.Text("Produtos"), center_title=True, bgcolor=ft.colors.BLUE_700, actions=[ ft.IconButton(icon=ft.icons.ADD, on_click=novo_produto) ] ), ft.Container( content=lista_produtos, padding=20, expand=True ) ] ) Continue reading...