在shinydashboard中,将widget放入. 但是我希望将我的 UI 和服务器的几个元素编码到模块中,这样我就可以坚持golem框架......而且我没有看到一个明确的方法来做到这一点,而无需为单个模块创建多个 UI 功能。我已经看过这个例子了,这个例子太简单了,没有帮助。menuItem(menuSubItems())
dashboardSidebar()
shinydashboard
golem
github
例如,有没有办法可以做到这一点?
以模块格式:
library(shiny)
library(shinydashboard)
### The Sidebar Menu with a Widget Subitem
mod_myAppSidebar_ui<-function(id) {
ns <- NS(id)
tagList(menuItem("Attributes", tabName="ourdata",
textInput("textSearch","SQL Search String", value = "")))
}
### The Dashboard Body output
mod_myAppBody_ui<-function(id) {
ns <- NS(id)
tagList(box(shiny::dataTableOutput(outputId = "OutputData")))
}
mod_myApp_server<-function(input, output, session) {
ns <- session$ns
output$OutputData<-shiny::renderDataTable({
somedata=data.frame(Rows=letters,Indexes=1:length(letters))
somedata[grepl(tolower(input$textSearch),somedata$Rows),]
})
}
### DashboardPage requires separate arguments for the UI elements
ui <- dashboardPage(header = dashboardHeader(title = "Rosetta"),
sidebar = dashboardSidebar(mod_myAppSidebar_ui("MySearch")),
body = dashboardBody(mod_myAppBody_ui("MySearch")))
server <- function(input, output, session) {
callModule(mod_myApp_server, "MySearch")
}
shinyApp(ui,server)
有没有办法让这种事情发挥作用?小部件没有显示,可能是因为我认为模块化框架不允许我为一个功能制作两个不同的 UI 元素。