- API 参考文档(十一)- 页面导航组件)
文章目录1. st.navigation自定义多页面导航生成器功能说明核心参数代码示例2. st.Page页面对象构造类功能说明核心参数代码示例3. st.page_link页面跳转链接功能说明核心参数代码示例4. st.switch_page代码编程式强制切换页面功能说明核心参数代码示例1.st.navigation自定义多页面导航生成器功能说明新一代多页面应用路由核心API在入口文件统一管理全部页面支持页面分组、侧边/隐藏两种导航位置、菜单折叠控制完全替代传统pages/文件夹自动路由。返回当前选中的页面对象调用.run()渲染页面内容。核心参数参数说明pages页面列表或分组字典列表为平铺页面字典键为分组标题值为该分组下st.Page对象列表position导航菜单位置sidebar侧边栏顶部、hidden完全隐藏导航expanded导航菜单默认展开状态True永久展开、False默认折叠代码示例importstreamlitasst# 定义分组页面page_groups{数据工具:[st.Page(data_upload.py,title数据上传,icon),st.Page(data_analysis.py,title数据分析,icon)],系统设置:[st.Page(setting.py,title账号设置,icon⚙️,defaultTrue)]}# 生成侧边导航current_pagest.navigation(page_groups,positionsidebar)# 执行当前选中页面current_page.run()2.st.Page页面对象构造类功能说明用来封装单页信息的构造函数生成StreamlitPage实例传入st.navigation注册页面支持本地py文件、Python函数两种页面源可自定义页面标题、图标、路由地址、默认首页。核心参数参数说明page页面源py文件相对路径 / 无参Python函数title导航菜单展示的页面名称不填自动读取文件名/函数名icon导航图标支持Emoji、Material图标url_path浏览器路由后缀默认自动生成defaultTrue时为空根路由default是否设为应用默认首页打开App自动加载该页面代码示例importstreamlitasst# 1. 文件页面page_filest.Page(dashboard.py,title数据看板,icon:material/bar_chart:,defaultTrue)# 2. 函数页面deffunc_page():st.title(函数页面)page_funcst.Page(func_page,title工具页面,icon)st.navigation([page_file,page_func]).run()3.st.page_link页面跳转链接功能说明页面内渲染跳转按钮/链接分为内部应用页面跳转、外部网址跳转两种模式点击后直接切换页面或新开标签页无需额外按钮逻辑。核心参数参数说明page目标本地页面文件路径 /st.Page对象 / http/https外部链接label链接显示文字外部链接必填icon链接前置图标disabled是否禁用该跳转链接use_container_width链接宽度填满父容器代码示例importstreamlitasst# 跳转内部页面st.page_link(dashboard.py,label返回首页,icon)# 跳转外部网页st.page_link(https://www.baidu.com,label打开百度,icon)# 禁用的页面链接st.page_link(analysis.py,label数据分析维护中,disabledTrue)4.st.switch_page代码编程式强制切换页面功能说明代码内触发页面跳转常用于按钮点击、表单提交、登录成功等场景执行后立刻终止当前页面代码加载目标页面纯逻辑驱动无UI展示。核心参数page目标页面的相对文件路径或预先定义的st.Page对象代码示例importstreamlitasst# 点击按钮自动跳转到首页ifst.button(回到首页):st.switch_page(main.py)# 表单提交后跳转数据页submitst.form_submit_button(开始分析)ifsubmit:st.switch_page(pages/data_analysis.py)