Почему во flet при добавлении page.open вся страница удаляется

Пишу программу на flet. Добавил BottomSheet, который вылезает через page.open при определенных условиях при каждом обновлении страницы. Когда я его добавил, страница очистилась и ничего не было. Когда убрал page.clean, все заработало, но при смене страницы прошлая не удалилась и они наложились друг на друга. Почему я не могу использовать две эти функции вместе?
Код: (сокращеный)

import flet as ft
#другие импорты

#база данных и т.д. и т.п.

def main(page: ft.Page):
    #тут стоит настройка страницы (ширина\длина\цвет)
    
    #тут стоят функции разные
    
    def check_stake(): 
        stake_data = db.get_stake()
        return funcs.convert_iso(stake_data[1]) <= funcs.convert_iso(funcs.get_time())
    
    def route_change(e):
        page.clean() #вот тут чищу страницу
        def go_stake(e):
            page.go('/stake')
        
        if check_stake():
            stake_data = db.get_stake()
            page.open(views.stake_sheet(funcs.count_stake(stake_data[0]), stake_data[1], go_stake)) #тут открывают sheet и все ломается
        
        if page.route == '/':
            #тут всякие функции и page.add, короче views
        #...
        #много кода страниц
        #...

    page.on_route_change = route_change
    page.go(page.route)
    page.update()

ft.app(main)

Код BottomSheet (views.stake_sheet)

def stake_sheet(stake_before, stake_after, go_stake):
    return ft.BottomSheet(
        ft.Column(
            [
                ft.Text(f'Вы успешно застейкали -1 монет и получили -2 монет!'),
                ft.ElevatedButton(
                    'Собрать монеты',
                    bgcolor='#0089d4',
                    color='white',
                    on_click=go_stake,
                    style=ft.ButtonStyle(
                        shape=ft.RoundedRectangleBorder(radius=10)
                    )
                )
            ]
        )
    )

page.clean + page.open page.clean + page.open page.open (вроде все норм, но все виджеты страниц уходят под область видимости и видно только первую страницу page.open (вроде все норм, но все виджеты страниц уходят под область видимости и видно только первую страницу page.clean (BottomSheet тупо нету ._.) page.clean
даже не спрашивайте, зачем мне кошелек


Ответы (1 шт):

Автор решения: AnnaBazueva

Не надо чтоб BottomSheet вылезал через page.open().

Когда page.clean() внутри функции route_change() вы очищаете страницу,
включая BottomSheet, который вы добавляете с помощью page.open().
Поэтому BottomSheet не отображается после очистки страницы.

Надо открываете его при необходимости внутри функции route_change().

→ Ссылка