我只是想将输出写入到textOutput中,但我不希望它响应任何反应 - 我想完全控制何时更新文本(用于通知:基本上我想根据后端处理编写一些日志消息到屏幕上)。
如果我在ui.R中添加:verbatimTextOutput(“txt”)
,然后尝试执行:
observeEvent(input$someButton, {
... # do some work
output$txt <- "some text" #Error: see below
... # do some more work
})
我收到了以下警告信息:警告:观察者中的未处理错误:txt 输出的字符不符合预期
补充说明:以下是可重现的示例:
server <- function(input, output) {
observeEvent(input$doBtn, {
#... do some work
output$txt <- "some text" #crashes app.
#... do some more work
})
output$distPlot <- renderPlot({
hist(rnorm(input$obs), col = 'darkgray', border = 'white')
})
}
ui <- shinyUI(fluidPage(
mainPanel(
verbatimTextOutput("txt"),
actionButton("doBtn", "Do something")
)
))
shinyApp(ui = ui, server = server)
在不使用自己的render*函数包装它的情况下,直接引用文本输出元素是否可能?我认为我不能太字面理解错误信息,因为被更新的文本非常简单。是的,我知道withProgress()等等,但在这种情况下,那不是我想要的。
谢谢。
renderText
或renderUI
。 - cdeterman