添加另一个tabPanel时,防止用户输入数据丢失

时间:2016-03-01 14:32:41

标签: r shiny

我正在将tabPanel动态添加到tabsetPanel。但是,要添加选项卡,我将重新创建整个tabsetPanel,这也会删除用户已输入的所有数据。在示例代码中,当对选项卡1上的selectInput进行了一些选择,然后单击“添加选项卡”按钮时,选项卡1上的选项就消失了。

是否有更简单/更好的方法来添加选项卡而不丢失用户输入而不是之前存储它并在生成新的tabsetPanel之后重新设置它?

(是否可以“操纵”tabsetPanel以添加另一个标签?)

library(shiny)

TSTAddin <- function() {
  ui <- fluidPage( 
    actionButton('addTab','Add Tab'),
    uiOutput('panelset')
  )

  server <- function(input, output, session) {
    output$panelset <- renderUI({
      panL <- lapply(1:(input$addTab + 1), function(x) {tabPanel(paste0('Pan',x), selectInput(paste0('in',x), label=x, choices=LETTERS[1:10]))})
      do.call(tabsetPanel, panL)
    })
  }

  viewer <- paneViewer(300)
  runGadget(ui, server, viewer = viewer)
}
TSTAddin()

0 个答案:

没有答案