闪亮的两个操作按钮,仅响应第二个按钮,不响应第一个按钮

时间:2020-07-08 05:23:35

标签: r server shiny reactive action-button

在R Shiny中告诉我,有两个操作按钮。我想根据我按下的按钮更新数据。但是由于某种原因,它仅响应第二个按钮,而不响应第一个按钮。解决办法是什么?

if (interactive()) {
  ui <- fluidPage(
    sidebarLayout(
      sidebarPanel(
        actionButton("action_1", "Get 1"),
        actionButton("action_2", "Get 2"),
      ),
      mainPanel(
        textOutput("result")
      ),
    )
  )
  
  server <- function(input, output) {
    data <- eventReactive(input$action_1, 1)
    data <- eventReactive(input$action_2, 2)
    output$result <- renderText(data())
  }
  
  shinyApp(ui, server)
}

2 个答案:

答案 0 :(得分:4)

这段代码的第二行覆盖了第一行:

data <- eventReactive(input$action_1, 1)
data <- eventReactive(input$action_2, 2)

您可以这样做:

  ui <- fluidPage(
    sidebarLayout(
      sidebarPanel(
        actionButton("action_1", "Get 1"),
        actionButton("action_2", "Get 2"),
      ),
      mainPanel(
        textOutput("result")
      ),
    )
  )
  
  server <- function(input, output) {
    result <- reactiveVal()
    observeEvent(input$action_1, { result(1) })
    observeEvent(input$action_2, { result(2) })
    output$result <- renderText(result())
  }
  
  shinyApp(ui, server)
}

答案 1 :(得分:0)

如果您有许多按钮,则可以简单地向其中添加*ngFor="let ex of exercice | filterBy: categorieFilter | filterBy : materielFilter" 和一些简单的class来监视最终点击,如下所示:

JS

enter image description here

相关问题