AppBar не отображается в Flet

Использую flet, Хотел добавить AppBar, но он не отображается. При этом, если я убираю маршрутизацию, то он отображается. Я пробовал ставить его после views.clear(), менял настройки appbar, менял название, но это не помогло. В интернете про это ничего нет. flet 0.20.0

from flet import *

button_style = ButtonStyle(shape=RoundedRectangleBorder(radius=10), bgcolor='blue', color='white')
center = MainAxisAlignment.CENTER

class Api:
    def login(self, login, password):
        return 1
api = Api()

class Data:
    data = {'do':'', 'data':{}, 'user_id':0, 'task_id':0, 'customer_id':0, 'store_id':0}
data = Data()

def main(page: Page):
    page.title = 'NeoTelecom'
    page.vertical_alignment = CrossAxisAlignment.START
    page.horizontal_alignment = center
    page.window_width = 400
    page.window_height = 700
    page.padding = 0
    page.spacing = 0
    page.appbar = AppBar(toolbar_height=100, leading=Icon(icons.ABC), bgcolor='blue') #<- не отображает appbar


    def route_change(e: RouteChangeEvent):
        page.views.clear()

        if page.route == '/':
            data.data['do'] = 'checkSign'
            login = TextField(bgcolor='gray', max_lines=1, label='Логин', border_radius=10)
            password = TextField(bgcolor='gray', password=True, max_lines=1, label='Пароль', border_radius=10)
            data.data['data']['login'] = login.value
            data.data['data']['password'] = password.value

            page.views.append(
                View(
                    route='/',
                    controls=[
                        Column(
                            [
                                Container(
                                    Column(
                                        [
                                            Container(
                                                Text(value='NeoTelecom', size=50, italic=True),
                                                padding=padding.only(left=50, bottom=80)
                                            ),
                                            Container(
                                                Column(
                                                    [
                                                        login,
                                                        password
                                                    ], 
                                                ),
                                                padding=padding.only(left=20, right=20)
                                            ),
                                            Container(
                                                ElevatedButton(text='Вход', scale=1.5, height=30, width=140, style=button_style, on_click=lambda _: page.go('/main')), 
                                                padding=padding.only(left=100, top=100)
                                            ),
                                        ]
                                    ),
                                )
                            ], 
                            spacing=30, alignment=alignment.top_center
                        )
                    ]    
                )    
            )


        if page.route == '/main':
            if data.data['do'] == 'checkSign':
                user_id = api.login(data.data['data']['login'], data.data['data']['password'])
                if user_id == -1:
                    pass
                else:
                    data.data['user_id'] = user_id
                    data.data['data'] = {}
                    page.show_snack_bar(
                        SnackBar(
                            Text(f'Успешный вход! ID: {user_id}')
                        )
                    )
                    page.views.append(
                        View(
                            route='/main',
                            controls=[
                                Column(
                                    [
                                        Column(
                                            [
                                                Container(
                                                    Text(value='   ', size=20, color='white'), 
                                                    alignment=alignment.center, bgcolor='blue', width=450, height=70
                                                )
                                            ], 
                                            spacing=10
                                        ),
                                        Container(
                                            Text(value='NeoTelecom', size=50, italic=True),
                                            padding=padding.only(left=50, bottom=80)
                                        ),
                                    ], 
                                    spacing=30, alignment=alignment.top_center
                                )
                            ]
                        )
                    )

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


app(target=main)

Результат:
Результат

AppBar куда то пропал...


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

Автор решения: Сергей Кох

Добавьте page.appbarв список controls на каждой странице, он и появиться.

Чтобы отобразить элемент управления на странице, добавьте его в controls список страницы и вызовите page.update() отправку изменений страницы в браузер или настольный клиент:

ссылка

.................................
                    controls=[
                        page.appbar,
                        Column(
.................................
→ Ссылка