admin管理员组文章数量:1355107
Using flet library in python, I am trying to close a NavigationDrawer control programmatically using a button. The NavigationDrawer is added to the page using a View(), and I want to close the navbar when calling close_drawer() function. I have attached code snippet below, but it does not close the navigation drawer. Please help:
from flet import AppBar, ElevatedButton, NavigationDrawer, Text, View, app, Page
def main():
app(apprun)
def apprun(page: Page):
def on_route_change(_):
page.views.clear()
page.views.append(
View(
route="/",
controls=[
AppBar(title=Text("Navbar example"))
]
))
page.views[0].drawer = nav
page.update()
def close_drawer(_):
if page.views[0].drawer is not None:
nav.open = False
page.views[0].drawer.open = False
page.close(nav)
page.close(page.views[0].drawer)
page.update()
nav = NavigationDrawer(
controls=[
ElevatedButton(text="close this navbar", on_click=close_drawer)
])
page.on_route_change = on_route_change
page.go(page.route)
if __name__ == "__main__":
main()
版权声明:本文标题:python - flet NavigationDrawer control does not close programmatically when opened with View() - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743995117a2572848.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论