ยกเลิกการเลือกปุ่มตัวเลือกเมื่อคลิกปุ่มรีเซ็ตใน 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")
  )

เซิร์ฟเวอร์อาร์

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