在下面的最小示例中,请注意当file.choose()
行被注释掉时,代码按预期工作:单击输入选项卡上的确定按钮切换到结果标签。
但是,取消注释file.choose()
行并且updateTabsetPanel()
功能不再有效。有没有办法在file.choose()
开始之前让标签在屏幕上更改?
ui <- fluidPage(fluidRow(
tabsetPanel(id="main",
tabPanel("Input", actionButton("okButton", "OK")),
tabPanel("Results", h3(textOutput("results")))
)))
server <-function(input, output, session) {
output$results = renderText("Results Tab")
observeEvent(input$okButton, {
updateTabsetPanel(session, "main", "Results")
# file.choose()
})
}
shinyApp(ui = ui, server = server)
答案 0 :(得分:0)
您可以分两步完成:1。切换标签; 2.根据选项卡切换事件,打开文件选择窗口。
ui <- fluidPage(fluidRow(
tabsetPanel(id="main",
tabPanel("Input", actionButton("okButton", "OK")),
tabPanel("Results", h3(textOutput("results")))
)))
server <-function(input, output, session) {
output$results = renderText("Results Tab")
observeEvent(input$okButton, {
updateTabsetPanel(session, "main", "Results")
})
observeEvent(input$main, {
if (input$main == "Results") {
file.choose()
}
})
}
shinyApp(ui = ui, server = server)