R 刷新主面板屏幕上的Checkboxinput问题

R 刷新主面板屏幕上的Checkboxinput问题,r,checkbox,shiny,R,Checkbox,Shiny,我有一个闪亮的应用程序,用户可以选中一个框,如果他想显示数据,如果是这样,他可以选择在主面板中显示的数据表的数量。有两个操作按钮,一个用于提交和刷新。如果用户在selectinput中选择1、2或3并点击submit。它将在主面板中显示3个数据表。一旦他点击刷新或取消选中复选框,它将清除主面板屏幕,但是如果他决定再次选中该复选框,最后显示的表格将显示在主面板上。这也会清除屏幕。如果他再次选中复选框,我如何清除屏幕。这是我的密码。谢谢你关注这一点,我是新来的R和闪亮 library(shi

我有一个闪亮的应用程序,用户可以选中一个框,如果他想显示数据,如果是这样,他可以选择在主面板中显示的数据表的数量。有两个操作按钮,一个用于提交和刷新。如果用户在selectinput中选择1、2或3并点击submit。它将在主面板中显示3个数据表。一旦他点击刷新或取消选中复选框,它将清除主面板屏幕,但是如果他决定再次选中该复选框,最后显示的表格将显示在主面板上。这也会清除屏幕。如果他再次选中复选框,我如何清除屏幕。这是我的密码。谢谢你关注这一点,我是新来的R和闪亮

    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)
库(闪亮)
图书馆(DT)

ui您可以将此代码添加到
服务器
功能中

observe({
    if(input$addData == FALSE) isolate(global$refresh <- TRUE)
  })
观察({

如果(input$addData==FALSE)隔离(global$refresh您可以将此代码添加到您的
服务器
函数中

observe({
    if(input$addData == FALSE) isolate(global$refresh <- TRUE)
  })
观察({
如果(输入$addData==FALSE)隔离(全局$refresh您应该使用
if(输入$refresh1 |!输入$addData)隔离(全局$refresh您应该使用

if(input$refresh1 |!input$addData)isolation(global$refresh)如果我取消选中该框,主屏幕不会取消选中。对于我来说,如果我取消选中该框,主屏幕不会取消选中。非常感谢。这就是我要找的。非常感谢。这就是我要找的。