我是新来的,如有错误请见谅。
我有以下代码工作:
library(shinydashboard)
library(shinyWidgets)
#### Header ####
header <- dashboardHeader()
#### Sidebar ####
sidebar <- dashboardSidebar()
#### Body ####
body <- dashboardBody(
actionButton("go", label = "Go!"),
# Loading Bar
progressBar("progress", value=0, total=100, title="", display_pct = TRUE)
)
ui = dashboardPage(header, sidebar, body)
#### Server ####
server <- function(input, output, session){
observeEvent(input$go,{
for(i in 1:13){
updateProgressBar(
session = session,
id = "progress",
value = i,
total = 13,
title = paste("Progress ", i, "/", 13)
)
Sys.sleep(0.2)
}
}
)
}
shinyApp(ui, server)
但是现在我需要通过已经定义的函数中的一些代码来更新progressBar(实际上是在源代码中)。作为我定义的测试:
test_func <- function(){
for(i in 1:13){
updateProgressBar(
session = session,
id = "progress",
value = i,
total = 13,
title = paste("Progress ", i, "/", 13)
)
Sys.sleep(0.2)
}
}
并将服务器编辑为:
#### Server ####
server <- function(input, output, session){
observeEvent(input$go,{
test_func()
}
)
}
我收到以下错误:“对象类型闭包不是子集”
我怎样才能以正确的方式做到这一点?提前致谢。