将insertTag与renderUI一起使用失败

时间:2018-11-27 11:03:02

标签: r shiny

我有以下代码来插入有效的标签页:

library(shiny)
ui <- fluidPage(
  navbarPage("My Page",
             tabPanel("a", p("page a")),
             tabPanel("b", p("page b")),
             id='my_page')
)

server <- function(input, output, session){
  v = reactiveVal(2)

  observeEvent(v(),{
    if(v() > 1){
      cat("I did observe v with value", v(), "\n")
      insertTab(inputId="my_page", 
                tab=tabPanel("c", p("page c")),
                target="a", position="after")
    }
  })
}

shinyApp(ui, server)

但是,使用下面显示的renderUI和tagList对此进行小的修改无法插入标签。

library(shiny)
ui <- fluidPage(
  uiOutput("page")
)

server <- function(input, output, session){
  output$page <- renderUI(tagList(navbarPage("My Page",
                                             tabPanel("a", p("page a")),
                                             tabPanel("b", p("page b")),
                                                      id='my_page')))
  v = reactiveVal(2)

  observeEvent(v(),{
    if(v() > 1){
      cat("I did observe v with value", v(), "\n")
      insertTab(inputId="my_page", 
                tab=tabPanel("c", p("page c")),
                target="a", position="after")
    }
  })
}

shinyApp(ui, server)

可能是什么原因?请指教。谢谢。

0 个答案:

没有答案