Shiny Dashboard切换标签页时自动定位到页面顶部的问题求解
解决方案
你已经在项目中引入了shinyjs依赖,只需要在原有监听侧边栏切换的逻辑中新增一行执行滚动的JS代码即可实现需求,切换标签时会自动定位到页面顶部。
修改后的服务端代码如下:
server <- function(input,output,session){ observeEvent(input$mysidebar, { # 切换标签时滚动到页面顶部 runjs("window.scrollTo(0, 0);") # 原有侧边栏自动收起逻辑 addClass(selector = "body", class = "sidebar-collapse") removeClass(selector = "body", class = "sidebar-open") } ) }
修改后直接运行即可生效,不会影响你已有的头部固定、侧边栏自动收起功能。如果不想用shinyjs实现,也可以直接在UI的tags$script中添加原生JS监听标签切换事件,上述方案是改动最小的实现方式。
内容的提问来源于stack exchange,提问作者Devin Werner
相关产品推荐
相关产品推荐

