【问题标题】:Unable to render Shiny-UI layout with navbarPage() and tabsetPanel()无法使用 navbarPage() 和 tabsetPanel() 呈现 Shiny-UI 布局
【发布时间】:2020-07-18 16:22:44
【问题描述】:

我同时使用fluidPage()navbarPage()tabsetPanel(),因为我希望在标签之间切换。运行ShinyApp 时,我在导航栏标题附近看到一个黑框区域。但是,当我不使用 tabsetPanel() 时,我看不到这一点,因为所有选项卡都进入导航栏。我应该如何移除这个暗箱区域

用户界面错误

代码:

# Loading Libraries
library("shiny")
library("shinythemes")

Main_UI <- shinyUI({
  fluidPage(theme = shinytheme("flatly"),
            navbarPage(title="Title",
                       tabsetPanel(id = "inTabset",
                                   tabPanel("Tab1", value = "Tab1", actionButton("b1", label = "Jump To Tab2")),
                                   tabPanel("Tab2", value = "Tab2", actionButton("b2", label = "Jump To tab1")))
            ))})


# Server Function
Main_Server <- function(input,output,session) {
  observeEvent(input$b1, {
    updateTabsetPanel(session, "inTabset", selected = "Tab2")})
  observeEvent(input$b2, {
    updateTabsetPanel(session, "inTabset", selected = "Tab1")})}

# Run-app
shinyApp( ui = Main_UI,  server = Main_Server)

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    由于您使用的是navbarPage,因此您不需要tabsetPanelnavbarPage... 参数应该是tabPanels。你看到的黑色斑点是navbarPage 中“已选择”tabPanel 的选项卡:它不存在。

    Main_UI <- shinyUI(
      fluidPage(
        theme = shinytheme("flatly"),
        navbarPage(
          title="Title",
          tabPanel("Tab1", value = "Tab1"),
          tabPanel("Tab2", value = "Tab2")
        )
      )
    )
    

    给你你想要的。

    【讨论】:

    • 感谢您的回复。我的目标是使用actionButton() 在选项卡之间建立连接,但如果不使用tabsetPanel(id = "inTabset"),我无法使连接正常工作。我应该如何与navbarPage() 建立标签连接?
    • 我已经编辑了帖子中的代码,并包含了用于选项卡连接的服务器功能
    • 来自navbarPage 的在线帮助:id 如果提供,您可以在服务器逻辑中使用input$id 来确定当前哪个选项卡处于活动状态。该值将对应于传递给tabPanel() 的值参数。阅读文档总是一个好主意。
    猜你喜欢
    • 1970-01-01
    • 2015-10-05
    • 2018-11-23
    • 2016-07-31
    • 2015-04-03
    • 1970-01-01
    • 2021-08-11
    • 2020-01-10
    • 1970-01-01
    相关资源
    最近更新 更多