当按下“关闭”按钮时,是否可以擦除bsModal()窗口的内容?

时间:2019-01-09 00:05:06

标签: r shiny

我正在其中一个Shiny Apps中使用ShinyBS软件包中的bsModal()窗口。每当用户第二次打开模式窗口时,从第一个窗口开始的窗口内容就会保留在屏幕上,直到加载新内容为止。这不理想。关闭bsModal()窗口后,是否可以删除它的内容?我不希望较旧的内容在重新打开后出现在窗口中。随后,也许有一种方法可以在打开之前清理bsModal()窗口?

我无法为此找到任何解决方法

这是应用程序的一些示例代码(不是我的代码),也可以通过以下方式访问: 图书馆(shinyBS) bsExample(“ Modals”)

ui.R

library(shiny)
library(shinyBS)
 fluidPage(
   sidebarLayout(
     sidebarPanel(
       sliderInput("bins",
                   "Number of bins:",
                   min = 1,
                   max = 50,
                   value = 30),
       actionButton("tabBut", "View Table")
     ),

     mainPanel(
       plotOutput("distPlot"),
       bsModal("modalExample", "Data Table", "tabBut", size = "large",
         dataTableOutput("distTable"))
     )
   )
)

server.R

library(shiny)
library(shinyBS)
shinyServer(
 function(input, output, session) {

   output$distPlot <- renderPlot({

     x    <- faithful[, 2]
     bins <- seq(min(x), max(x), length.out = input$bins + 1)

     # draw the histogram with the specified number of bins
     hist(x, breaks = bins, col = 'darkgray', border = 'white')

   })

   output$distTable <- renderDataTable({

     x    <- faithful[, 2]
     bins <- seq(min(x), max(x), length.out = input$bins + 1)

     # draw the histogram with the specified number of bins
     tab <- hist(x, breaks = bins, plot = FALSE)
     tab$breaks <- sapply(seq(length(tab$breaks) - 1), function(i) {
       paste0(signif(tab$breaks[i], 3), "-", signif(tab$breaks[i+1], 3))
     })
     tab <- as.data.frame(do.call(cbind, tab))
     colnames(tab) <- c("Bins", "Counts", "Density")
     return(tab[, 1:3])

   }, options = list(pageLength=10))

 }
)

0 个答案:

没有答案