【问题标题】:Uncheck Radio Button on clicking Reset button in R (Shiny)在 R 中单击“重置”按钮时取消选中单选按钮(闪亮)
【发布时间】:2016-12-19 12:50:31
【问题描述】:

我试图在单击“休息”按钮时取消选中单选按钮。 我正在使用 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)
          }
        }

      }

【问题讨论】:

    标签: r shiny


    【解决方案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")
            }
          )
    
        })
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多