Снимите флажок «Переключатель» при нажатии кнопки «Сброс» в R (блестящий)

Я пытаюсь снять флажок с переключателя при нажатии кнопки «Отдых». Я использую пакет Shiny для создания этих радиокнопок. При нажатии радиокнопки «Сравнение» вызов ConditionalPanel с несколькими флажками. Выберите любое количество флажков и нажмите кнопку «Сравнить» для сравнения. Я хочу свернуть ConditionalPanel, когда я нажимаю кнопку «Сброс». или снимите флажок с кнопки Radion, чтобы она автоматически скрывала ConditionalPanel.

ui.R

sidebarLayout( 
sidebarPanel( 
selectInput("villNane", "Choose a Village:", choices = c("All","Village1", "Village2","Village3","Village4","Village5"), selected = "All"), 
selectInput("YesNo", "Vaccinated / Not Vaccinated:", choices = c("Yes","No")), 
radioButtons("compare", "Comparison :", choices="Compare", selected = character(0), inline = FALSE,width = NULL),      
  conditionalPanel(
    condition="input.compare =='Compare'",
    checkboxGroupInput(inputId="somevalue", label="Village :",choices=c("Village1","Village2","Village3","Village4","Village5"), selected=NULL, inline=TRUE),
    actionButton("compAction", "Compare"),
    actionButton("resetAction", "Reset")
  )

сервер.R

if(inAc == 1){
        CB <-input$somevalue
        if((YN == 'Yes') &(villName=="All")){
          layout(matrix(c(1,2,3,4,5), 2,2, byrow = TRUE),widths=c(3,3), heights=c(3,3))
          for (val in 1:length(CB)) {
            gotData1 <- get(CB[val],vac)
            pct <- round(gotData1/sum(gotData1)*100)
            lbls <- c("Attack", "Not Attack")
            lbls2 <- paste(lbls, "-", pct, "%")
            pie(gotData1,labels=lbls2,radius=1.15)
          }
        }

      }

person sinhanitish    schedule 19.12.2016    source источник


Ответы (1)


Я думаю, вам будет проще использовать пакет shinyjs.

library(shiny)
library(shinyjs)

shinyApp(
  ui = 
    shinyUI(
      sidebarLayout( 
        sidebarPanel(
          useShinyjs(),
          verbatimTextOutput("display"),
          selectInput("villNane", "Choose a Village:", choices = c("All","Village1", "Village2","Village3","Village4","Village5"), selected = "All"), 
          selectInput("YesNo", "Vaccinated / Not Vaccinated:", choices = c("Yes","No")), 
          actionButton("compare", "Compare"),
          hidden(
            checkboxGroupInput(inputId="somevalue", label="Village :",choices=c("Village1","Village2","Village3","Village4","Village5"), selected=NULL, inline=TRUE)
          ),

          actionButton("compAction", "Compare"),
          actionButton("resetAction", "Reset")
        ),
        mainPanel()
      )
    ),

  server = 
    shinyServer(function(input, output, session){
      observeEvent(
        input$compare,
        {
           show("somevalue")
        }
      )

      observeEvent(
        input$resetAction,
        {
          hide("somevalue")
        }
      )

    })
)
person Benjamin    schedule 19.12.2016