bslib中page_navbar使用nav_select切换页面失效问题求助
在用bslib的page_navbar组件时,遇到nav_select无法切换页面的问题,怀疑和导航标签的插入方式有关。
原本通过nav_insert动态插入导航面板(仅用户登录时激活),虽知晓应使用nav_panel_hidden,但开发进度不允许切换到navbarPage配合updateNavbarPage()函数。尝试直接在page_navbar中用常规方式定义导航面板后,问题仍未解决。此外,页面内的navset_card_tab使用nav_select可正常工作,但无法实现跨页面切换。
需求是点击按钮后从Page 1切换到Page 2,相关示例代码如下:
第一段代码(动态插入面板)
shinyApp( ui = page_fillable( page_navbar(title='Reprex', padding=c(0,0,0,0), bg='#e6e6e6', id='tabs' ) ), server = function(input, output, session) { nav_insert(id='tabs',select=FALSE,position='before', as_fill_carrier(nav_panel(title='Page 2',id='page2'))) nav_insert(id='tabs',select=TRUE,position='before', as_fill_carrier(nav_panel(title='Page 1',id='page1', actionButton(inputId='changePage',label='Change Page')))) observeEvent(input$changePage,{ nav_select( id='tabs', selected = "page2" ) }) })
第二段代码(静态定义面板)
shinyApp( ui = page_fillable( page_navbar(title='Reprex', padding=c(0,0,0,0), bg='#e6e6e6', id='tabs', nav_panel(title='Page 2',id='page2'), nav_panel(title='Page 1',id='page1', actionButton(inputId='changePage',label='Change Page')) ) ), server = function(input, output, session) { observeEvent(input$changePage,{ nav_select( id='tabs', selected = "page2" ) }) })
实际应用中,该按钮用于触发编辑特定字段,编辑页面已能成功加载对应ID的内容,但无法切换到该页面。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

