我有一个关于在闪亮的应用中更新文本输出的问题。
在一个观察者中,我进行了几次计算,并且在每个计算之间,我想在文本输出中显示信息。
我尝试了几件事,但它唯一展示的是最后的信息:
RecyclerView
或者:
library(shiny)
ui <- fluidPage(
headerPanel("Hello !"),
mainPanel(
actionButton("bouton", "Clic !"),
textOutput("texte")
)
)
server <- function(input,output, session){
observeEvent(input$bouton, {
output$texte = renderText("Initialization...")
Sys.sleep(1)
output$texte = renderText("Almost ready...")
Sys.sleep(3)
output$texte = renderText("Ok !")
})
}
runApp(list(ui=ui,server=server), launch.browser = TRUE)
编辑:在这两个例子中,它只显示最后一条消息&#34; OK!&#34;
我哪里错了?
感谢您的帮助!
答案 0 :(得分:2)
感谢Eugene,这是我的工作代码(仅限服务器):
server <- function(input,output, session){
rv = reactiveValues()
rv$mess = ""
observeEvent(input$bouton, {
withProgress({
setProgress(message = "Initialization...")
Sys.sleep(1)
setProgress(message = "Almost ready...")
Sys.sleep(3)
setProgress(message = "Ok !")
Sys.sleep(2)
})
})
}
答案 1 :(得分:1)
您可以考虑使用闪亮的进度指标来实现这一目标:
withProgress
和setProgress( message = "some message" )
您使用的rv$mess
和output$texte
但是,进度指示器将显示在右上角(如果您修改了css,则显示在其他位置)而不是输出框中。