这是一个简单的问题,但是我不明白为什么我的简单按钮按下时不会显示文本。
我有一个ID为“ go”的actionButton
。当用户按下按钮时,我只是想在我的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)
现在,将显示我的GO按钮,并且在其下方,我看到TextOutput
框,其中没有任何内容(如预期)。但是,当我按下按钮时,什么也没发生。我正在尝试显示“已按下按钮”。
答案 0 :(得分:1)
除非您使用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)
由于您没有向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)