我有一個閃亮的應用程序,用戶可以檢查一個框,如果他想顯示數據,如果是的話,他可以選擇數據表的數量顯示在主面板。有兩個操作按鈕,一個用於提交和刷新。如果用戶在selectinput中選擇1或2或3並點擊提交,它將在主面板中顯示3個數據表。一旦他點擊刷新或取消選中該複選框,它將清除主面板屏幕,但是如果他決定再次選中該框,最後顯示的表格會顯示在主面板上。這也應該清除屏幕。如果他再次選中該框,我如何清除屏幕。這是我的代碼。感謝您尋找到這一點,我是新來的R和閃亮刷新主面板屏幕上Checkboxinput問題
library(shiny)
library(DT)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
checkboxInput("addData", "Add Data"),
conditionalPanel(condition="input.addData === true",
selectInput("amountTable", "Amount Tables", 1:10),
actionButton("submit1" ,"Submit", icon("refresh"),
class = "btn btn-primary"),
actionButton("refresh1" ,"Refresh", icon("refresh"),
class = "btn btn-primary")
)
),
mainPanel(
# UI output
uiOutput("dt")
)
)
)
server <- function(input, output, session) {
global <- reactiveValues(refresh = FALSE)
observe({
if(input$refresh1) isolate(global$refresh <- TRUE)
})
observe({
if(input$submit1) isolate(global$refresh <- FALSE)
})
observeEvent(input$submit1, {
lapply(1:input$amountTable, function(amtTable) {
output[[paste0('T', amtTable)]] <- DT::renderDataTable({
iris[1:amtTable, ]
})
})
})
observeEvent(input$submit1, {
lapply(1:input$amountTable, function(j) {
output[[paste0('Text', j)]] <- renderText({
paste0("This is AmountTable", j)
# br() ## add space in between the text and table
})
})
})
output$dt <- renderUI({
if(global$refresh) return()
tagList(lapply(1:input$amountTable, function(i) {
list(textOutput(paste0('Text', i)),br(),
dataTableOutput(paste0('T', i)))
}))
})
}
shinyApp(ui, server)
對我來說,如果我取消勾選框,主屏幕不會取消選中。 – BigDataScientist