examples icon indicating copy to clipboard operation
examples copied to clipboard

page.dialog is not working

Open Pranzal360 opened this issue 1 year ago • 6 comments

I was working with this file and i tried to run it in my system, when ever the website load, the dialog box doesn't appears. but it works after the second execution. Let me make it simple for you to understand let me start with: i run the code and it opens in the browser but the dialog box doesn't appears, now i don't close the tab where it is opened and now i stop the code and run it again, this time too it opens in another tab, this time too dialog box doesn't appears on the second tab but it opens in the previously opened tab.

image image

the tab on first image was opened during second execution where page.dialog doesn't opens the tab on the second image was opened during first execution where initially page.dialog didn't open but after second execution (without closing the tab ) page.dialog opened.

Pranzal360 avatar Sep 10 '23 08:09 Pranzal360

Yes, I also encountered this problem in the chat demo but it does work with this demo code alertdialog

barantt avatar Nov 30 '23 10:11 barantt

Hey @barantt, @Pranzal360, could you please attach some code to reproduce the issue?

ndonkoHenri avatar Dec 02 '23 00:12 ndonkoHenri

i used the code from flet examples and the dialog box doesn't opens, i forgot how i got that error in the original issue but this code also doesn't works, image

if further info is required please feel free to mention, sorry for late response !

Pranzal360 avatar Dec 03 '23 12:12 Pranzal360

Hey, I'm a little late on this, but has anyone figured out what the problem was? I'm currently encountering the same issue!

macill0 avatar Jun 23 '24 12:06 macill0

UPDATE: I found my issue. I'm no longer sure if I had the same one...

My problem (from my understanding) was that I initialized my page wrong. I added an AlertDialog to the page without adding something else. Then I switched with the router to another page.view component. And tried to show another dialog with page.show_diaog(dialog)

wrong code:

def main(page: ft.Page) -> None:
    """
    Entry point of application
    """ 
     
    page.title = "Notes App"
    page.adaptive = True
    
    if not page.client_storage.contains_key(StorageKeys.BASE_PATH.value): 
        alert_set_path: ft.AlertDialog = AlertDialogSetBasePath(page=page).build()
        page.add(alert_set_path)
        page.show_dialog(alert_set_path)
    
    while True:

SOLUTION:

  1. Initialize your page better ;)
  2. Quick and dirty: use page.clean() or page.controls.clean after you no longer need the dialog

macill0 avatar Jun 23 '24 14:06 macill0

The tutorials have been updated, please give another try.

ndonkoHenri avatar Jun 23 '24 23:06 ndonkoHenri