R 如何为golem框架模块化目录选择器?
我一直在开发一个闪亮的应用程序,我想将其集成到golem框架中。我使用了来自的目录选择器,但我在尝试将其模块化时遇到了一些问题。闪亮的应用程序不再显示我的目录。不得不说我是闪亮应用开发的初学者。如有任何建议,我们将不胜感激:R 如何为golem框架模块化目录选择器?,r,session,shiny,volumes,golem,R,Session,Shiny,Volumes,Golem,我一直在开发一个闪亮的应用程序,我想将其集成到golem框架中。我使用了来自的目录选择器,但我在尝试将其模块化时遇到了一些问题。闪亮的应用程序不再显示我的目录。不得不说我是闪亮应用开发的初学者。如有任何建议,我们将不胜感激: #' datadir UI Function #' #' @description A shiny Module. #' #' @param id,input,output,session Internal parameters for {shiny}. #' #' @no
#' datadir UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
mod_datadir_ui <- function(id){
ns <- NS(id)
tagList(
shinyDirButton("datadir", "Raw data directory",
"Please select the folder containing the raw accelerometer data")
)
}
#' datadir Server Function
#'
#' @noRd
mod_datadir_server <- function(input, output, session){
ns <- session$ns
volumes <- c(Home = fs::path_home(), "R Installation" = R.home(),
getVolumes()())
# DATADIR
shinyDirChoose(input, "datadir", roots = volumes, session = session,
restrictions = system.file(package = "base"))
}
## To be copied in the UI
# mod_datadir_ui("datadir_ui_1")
## To be copied in the server
# callModule(mod_datadir_server, "datadir_ui_1")
正在为id添加ns
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
mod_datadir_ui <- function(id){
ns <- NS(id)
tagList(
shinyDirButton(ns("datadir"), "Raw data directory",
"Please select the folder containing the raw accelerometer data")
)
}
#' datadir Server Function
#'
#' @noRd
mod_datadir_server <- function(input, output, session){
ns <- session$ns
volumes <- c(Home = fs::path_home(), "R Installation" = R.home(),
getVolumes()())
# DATADIR
shinyDirChoose(input, "datadir", roots = volumes, session = session,
restrictions = system.file(package = "base"))
}
## To be copied in the UI
# mod_datadir_ui("datadir_ui_1")
## To be copied in the server
library(shiny)
library(shinyFiles)
ui <- fluidPage(
mod_datadir_ui('jean')
)
server <- function(input, output, session) {
callModule(mod_datadir_server, "jean")
}
shinyApp(ui, server)
看起来它现在起作用了