Hapus centang Tombol Radio saat mengklik tombol Reset di R (Shiny)

Saya mencoba menghapus centang pada Tombol Radio dengan mengklik tombol Istirahat. Saya menggunakan paket Shiny untuk menghasilkan Tombol Radio ini. Saat Klik Tombol Radio "Perbandingan", memanggil Panel Kondisional dengan beberapa kotak centang. Pilih sejumlah Kotak Centang & klik tombol Bandingkan untuk perbandingan. Saya ingin menutup ConditionalPanel ketika saya mengklik tombol Reset. atau Hapus centang pada tombol Radion sehingga secara otomatis menyembunyikan 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")
  )

server.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 sumber


Jawaban (1)


Saya rasa Anda mungkin akan lebih mudah menggunakan paket 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