shinyFiles不使用模块

时间:2016-08-18 11:13:33

标签: r shiny

我正在开发一个相当大的闪亮应用,并使用this talk on shinydevcon中的方法来模块化它。
现在我尝试使用包shinyFiles来获得"另存为"输入对话框:

library(shiny)
library(shinyFiles)

# Dummy module for MCVE
saveModule <- function(input, output, session) {
    # Taken straight from shinyFilesExample()
    volumes <- getVolumes()
    shinyFileSave(input, NS("test")("save"), roots = volumes, session = session)
}

server <- function(input, output, session) {
    callModule(saveModule, "test")
}

ui <- shinyUI(fluidPage(
    # Taken straight from shinyFilesExample()
    shinySaveButton(NS("test")("save"), 'Save file', 'Save file as...', filetype=list(text='txt', picture=c('jpeg', 'jpg'))))
)

runGadget(app = ui, server = server, viewer = dialogViewer(title = "test"))

尝试浏览文件夹或切换根目录时,此功能无法正常工作。 从callModule中提取代码时,它确实有效,但正如我所说,实际的用例有一个相当大的应用程序,我不想让代码来自app.R。单个模块。

有没有办法让shinyFilescallModule上下文中正常运行?还是其他一些可行的解决方法?

供参考,这是一个有效的server

server <- function(input, output, session) {
    volumes <- getVolumes()
    shinyFileSave(input, NS("test")("save"), roots = volumes, session = session)
}

上面有uirunGadget

0 个答案:

没有答案