嵌套闪亮的应用无法正常运行

时间:2015-11-26 18:44:58

标签: r shiny

我正在尝试构建一个大型闪亮的应用程序,由几个小应用程序制作。

这个想法是在顶部构建一个带有navbarPage(A)的应用程序,由tabPanel(s)和navbarMenu(s)构成,对于其中一些声音,可以有一个“横向菜单”(B) (侧边栏等)左侧有其他声音。

最后,对于这些语音中的每一个,都可以只使用左侧面板(C)和“左侧菜单”(B)旁边的输出菜单(D)构建一个应用程序。

在这里,我报告一个裁剪的截图,以提供一个视觉概念:

enter image description here

如您所见,面板C和输出菜单D位于分开的“可滚动”框架中。从“左侧面板”B中选择“1”语音时,可以看到调用shinyApp函数时出现此问题。

在这里,我报告了一个分为文件的简化代码:

##### Main app code:
MainUI <- fluidPage(
  navbarPage(title = "title",
                      ## other voices
                      navbarMenu("voice 5",
                                 tabPanel("menu 1",
                                          uiOutput("menu51")
                                 ),
                                 tabPanel("...")
                      )
  )
)

MainServer <- function(input, output, session) {
  output$menu51 <- renderUI({
    menu51UI
  })

}

##### menu51 code:
menu51UI <- fluidPage(
    navlistPanel(
      "menu 5>1",
      tabPanel("1",
               shinyApp(exampleUI, exampleServer)
               ),
      tabPanel("2"),
      tabPanel("3"),
      widths=c(2,10)
    )
)

BedUtilitiesServer <- function(input, output, session) {
##
}

##### example app code:
exampleUI <- fluidPage(
  titlePanel("Sort"),
  fluidRow(
    column(2, 
      wellPanel(
        checkboxInput(inputId = 'directory_flag', label = 'Directory path?', value = FALSE),
        fileInput(inputId = "infiles", label = "Choose file(s)", multiple = TRUE),
        checkboxInput(inputId = 'descending_flag', label = 'Descending', value = FALSE),
        checkboxInput(inputId = 'merge_flag', label = 'Merge', value = FALSE),
        actionButton(inputId = "sortbed_button", label="sort file(s)", width = "100%", icon = icon(name="sort")),
        tags$hr(),
        tags$p("Loaded file(s):"),
        verbatimTextOutput("file_loaded")
      )
    ),
    column(8,
           uiOutput("data_tables")
    )
  )
)

exampleServer <- function(input, output, session) {
 ## some computation functions
}

为了避免这个问题,我决定用uiOutput(“example_ui”)替换对shinyApp(exampleUI,exampleServer)的调用。 代码就是:

##### Main app code:
MainUI <- fluidPage(
  navbarPage(title = "title",
                      ## other voices
                      navbarMenu("voice 5",
                                 tabPanel("menu 1",
                                          uiOutput("menu51")
                                 ),
                                 tabPanel("...")
                      )
  )
)

MainServer <- function(input, output, session) {
  output$menu51 <- renderUI({
    menu51UI
  })

}

##### menu51 code:
menu51UI <- fluidPage(
    navlistPanel(
      "menu 5>1",
      tabPanel("1",
               ########
               uiOutput("example_ui")
               ),
      tabPanel("2"),
      tabPanel("3"),
      widths=c(2,10)
    )
)

BedUtilitiesServer <- function(input, output, session) {
output$example_ui <- renderUI({
    #######
    exampleUI 
  })
}

##### example app code:
exampleUI <- fluidPage(
  titlePanel("Sort"),
  fluidRow(
    column(2, 
      wellPanel(
        checkboxInput(inputId = 'directory_flag', label = 'Directory path?', value = FALSE),
        fileInput(inputId = "infiles", label = "Choose file(s)", multiple = TRUE),
        checkboxInput(inputId = 'descending_flag', label = 'Descending', value = FALSE),
        checkboxInput(inputId = 'merge_flag', label = 'Merge', value = FALSE),
        actionButton(inputId = "sortbed_button", label="sort file(s)", width = "100%", icon = icon(name="sort")),
        tags$hr(),
        tags$p("Loaded file(s):"),
        verbatimTextOutput("file_loaded")
      )
    ),
    column(8,
           uiOutput("data_tables")
    )
  )
)

exampleServer <- function(input, output, session) {
 ## some computation functions
}

它似乎有效,除了从未出现的exampleUI !!!!

怎么可能?有人可以帮助我吗?有任何想法吗?有错误吗?

0 个答案:

没有答案