在处理代码之前,我想先打印一段文本,然后在代码执行完毕后再打印确认信息。
这是我的代码(app.R 的用户界面和服务器):所有未指定的变量都在 app.R 文件中初始化。
ui <- fluidPage(
# Application title
titlePanel(h1("Order2Ship", align="center")),
# Sidebar iputs
sidebarLayout(
sidebarPanel( #LONG LIST OF INPUTS
),
# On Screen output
mainPanel(
textOutput("START"),
textOutput("Confirm")
)
)
)
# Underlining code for output (computes the whole each time an input is changed)
server <- function(input, output) {
observeEvent(input$Do, { # ignores all return values
output$START <- renderText({"Starting Analysis"})
O2S( #LONG LIST OF PARAMETERS, FROM INPUTS
)
output$Confirm <- renderText({"Analysis Done"})
})
}
# Run the application
shinyApp(ui = ui, server = server)
我不需要函数O2S
返回任何东西,它只需要一个文件作为输入并生成一个解决方案文件。但是,在函数运行后,两个文本输出同时显示。 我无法想出原因。我刚开始学习Shiny,所以对于这样一个幼稚的问题感到抱歉。
renderText
函数既作为开始,又作为确认的函数,只有在函数运行后才被从服务器传递到UI界面。 - SBistaobserveEvent
函数之前首先使用renderText
,会发生什么情况呢?这将按以下顺序运行代码:在mainPanel
中显示“开始分析”文本;运行输入文件和生成解决方案文件的代码;最后显示“分析完成”。 - SagarobserveEvent
之前添加了一个“选择参数”的消息。 :) - Arani