R 操作按钮和 eventReactive 不起作用

Saj*_*iko 3 r shiny

这是一个简单的问题,但我不明白为什么我的简单按钮按下不显示文本。

我有一个actionButtonID为“go”的。当用户按下按钮时,我只想在我的textOutput框中显示“按钮已按下”。我还想在R控制台窗口中显示一条消息。

library(shiny)
ui <- fluidPage(
    actionButton("go", "Go"),
    verbatimTextOutput("text", placeholder = TRUE)
)

server <- function(input, output) {
  displayText <- eventReactive(input$go, {
    output$text <- renderText("Button Pressed")
  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

现在,我的“GO”按钮已显示,在正下方我看到一个TextOutput框,里面什么也没有(如预期的那样)。但是,当我按下按钮时,什么也没有发生。我正在尝试显示“按下按钮”。

Cle*_*ang 7

eventReactive除非你使用它,否则不会评估它,这里我添加一个观察来触发:

    library(shiny)
    ui <- fluidPage(
        actionButton("go", "Go"),
        verbatimTextOutput("text", placeholder = TRUE)
    )

    server <- function(input, output) {
        displayText <- eventReactive(input$go, {
            output$text <- renderText({input$go;"Button Pressed"})
        })

        observe(displayText())
    }

    shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

由于您没有向 退回任何内容displayText,请考虑使用:

library(shiny)
ui <- fluidPage(
    actionButton("go", "Go"),
    verbatimTextOutput("text", placeholder = TRUE)
)

server <- function(input, output) {
    observeEvent(input$go, {
        output$text <- renderText("Button Pressed")
    })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)