'observeEvent'函数转换为另一个'observeEvent'函数不起作用

时间:2018-07-26 06:45:15

标签: r shiny

以下是我的原始问题的简要版本。我在这里 试图将一个“ observeEvent”功能运行到另一个“ observeEvent”中 功能。该代码应按顺序执行以下步骤:

  1. 点击“打印”按钮,打印输入号码
  2. 单击“添加”按钮时,将+5加上打印的数字

该代码仅在第一次工作。从第二次开始 在没有任何点击的情况下显示添加的数字以及印刷品 “添加”按钮。

请帮助。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    optionsBuilder
        /* etc. */
        .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
}

1 个答案:

答案 0 :(得分:0)

如果将它们分开,则可以使第二个observeEvent被第一个发生的事情触发。

library(shiny)
ui <- fluidPage(
  fluidRow(
    sliderInput("n", min = 0, max = 100, value = 50, label = "Choose a number"),
    actionButton("Print","Print the number"),
    verbatimTextOutput("num1"),
    actionButton("Add","Add +5 to the printed number"),
    verbatimTextOutput("num2")
  )
)

server <- function(input, output){
  all <- reactiveValues(
    n = 50,
    a = 55
  )

  observeEvent(input$Print, {
    all$n <- input$n
    output$num1 <- renderPrint(all$n)
  })

   observeEvent(all$n, {
     all$d <- input$n + 5
     output$num2 <- renderPrint(all$d)
   })
}

shinyApp(ui = ui, server = server)