0
モジュールでshinyFilesパッケージを使用する際に問題があります。私はそれが正常に動作するモジュールなしでそれを使用しているとき。私はモジュール内でそれを使用していたとき、私は(他のスレッドが何も肯定的な答えを持っていない)ディレクトリに飛び込むことができません。モジュール内のshinyFilesパッケージ
#' @export
dirModule = function(input, output, session, fileRoot = NULL) {
root = c(C = "/")
shinyFileChoose(input, session$ns('files'), roots = root, session = session)
shinyDirChoose(input, session$ns("directory"), session=session, roots = c(home = '/home', root = '/'), filetypes=c(''))
shinyFileSave(input, session$ns("fileSave"), roots = root, session = session)
observeEvent(input$files, { print(parseFilePaths(root, input$files)$datapath) })
observeEvent(input$directory, { print(parseDirPath(root, input$directory)) })
observeEvent(input$fileSave, { print(parseSavePath(root, input$fileSave)$datapath) })
}
#' @export
dirModuleUI = function(id) {
ns = NS(id)
fluidPage(
fluidRow(
shinyFilesButton(ns('files'), label='File select', title='Please select a file', multiple=T),
shinyDirButton(ns("directory"), label="Directory select", title = "Select directory", FALSE),
shinySaveButton(ns("fileSave"), label = "File save", title = "Save file as", filetype=list(text='txt'))
)
)
}
'shinyFiles' [内部的にモジュールを使用しているようです](https://github.com/thomasp85/shinyFiles/blob/master/R/filechoose.R#L164)。したがって、IDを直接使用することで問題を解決することができます( 'shinyFileChoose(input、 'files'、...)など)。 shinyjsの同様の問題については、[こちらのディスカッション](https://github.com/daattali/shinyjs/issues/133)を参照してください。 –
少し深く掘り下げました。あなたのコードが 'shinyFiles'(私がインストールしたばかり)のcranバージョンで動作するようです。 githubバージョンを使用している場合は、[here](https://github.com/thomasp85/shinyFiles/pull/58)のようにIDを割り当てるときに 'session $ ns'を省略する必要があります。 –