flet
flet copied to clipboard
After refreshing the web page, the route refreshes to the first tab, but the page content still stays on the original page
Duplicate Check
- [X] I have searched the opened issues and there are no duplicates
Describe the bug
After refreshing the web page, the route refreshes to the first tab, but the page content still stays on the original page
Code sample
Code
[import flet as ft
from globalvar import env
import UserLogin
from orderfile import orderpage
from pilefile import pilepage
from settlefile import settlepage
from userfile import userpage
from esfile import espage
from redisfile import redispage
import requests
from globalvar import ipaddress
def main(page: ft.Page):
global token
page.title = f"万马爱充查询工具({env})"
page.fonts = {
"globalfont": "fonts/msyh.ttc",
}
page.theme = ft.Theme(font_family="globalfont")
page.appbar = ft.AppBar(
leading=ft.Row(controls=[ft.Container(width=5), ft.Image(src='./icons/wanmalogo2.png', width=40, height=12.4)]),
toolbar_height=30,
title=ft.Text(f"万马爱充自助查询工具({env})", size=13),
center_title=True,
bgcolor= '#F7AB00',
#bgcolor=ft.colors.ORANGE
)
page1 = orderpage.OrderPage()
page2 = pilepage.PilePage()
page3 = userpage.UserPage()
page4 = settlepage.SettlePage()
page5 = espage.EsPage()
page6 = redispage.RedisPage()
pagelist = [page1, page2, page3, page4, page5, page6]
if page.client_storage.contains_key("token"):
token = page.client_storage.get("token")
headers = \
{
"Content-Type": "application/json;charset=UTF-8"
}
checktokenurl = f"http://{ipaddress}/check_token?token={token}"
result = requests.post(checktokenurl, headers=headers)
if result.status_code == 401:
page.route = '/'
else:
page.route = "/root"
else:
page.route = '/'
def route_change(route):
page.views.clear()
if page.route == "/root":
def PageUpdate(num):
datepage.controls = [pagelist[num]]
page.update()
datepage = ft.View(
route="/root",
appbar=page.appbar,
scroll=ft.ScrollMode.ADAPTIVE,
adaptive=True,
controls=[page1],
navigation_bar=ft.NavigationBar(
bgcolor='#F7AB00',
#bgcolor=ft.colors.ORANGE,
indicator_color=ft.colors.WHITE,
on_change=lambda e: PageUpdate(e.control.selected_index),
destinations=[
ft.NavigationBarDestination(icon=ft.icons.QUERY_STATS, label="订单查询"),
ft.NavigationBarDestination(icon=ft.icons.EV_STATION, label="电桩查询"),
ft.NavigationBarDestination(icon=ft.icons.PEOPLE, label="用户查询"),
ft.NavigationBarDestination(icon=ft.icons.PAYMENT, label="人工结算"),
ft.NavigationBarDestination(icon=ft.icons.DATA_OBJECT, label="ES查询"),
ft.NavigationBarDestination(icon=ft.icons.DATA_USAGE, label="Redis查询")
],
selected_index=0,
)
)
page.views.append(
datepage
)
if page.route == "/":
page.views.append(
ft.View(
"/",
[
UserLogin.Login()
],
appbar=page.appbar,
auto_scroll=True
)
)
page.update()
def view_pop(view):
page.views.pop()
top_view = page.views[-1]
page.go(top_view.route)
page.on_route_change = route_change
page.on_view_pop = view_pop
page.go(page.route)
ft.app(target=main)
]
To reproduce
After refreshing the web page, the route refreshes to the first tab, but the page content still stays on the original page
Expected behavior
No response
Screenshots / Videos
Captures
[Upload media here]
Operating System
Windows
Operating system details
windows 11
Flet version
0.23.2
Regression
No, it isn't
Suggestions
No response
Logs
Logs
[Paste your logs here]
Additional details
No response
Could you try with the latest Flet 0.24.1 please?