【发布时间】:2017-02-14 00:35:33
【问题描述】:
我有一个闪亮的仪表板页面,其中包含多个图表,我想共享一个通用的日期选择器,但将这些图表放入单独的模块中。
我了解当我使用 callModule 时,我需要使用响应式 per 传递对象
如果模块需要访问不属于该模块的输入,则包含应用程序应传递包装在反应式表达式中的输入值(即 reactive(...)):
callModule(myModule, "myModule1", reactive(input$checkbox1))
但是,我不明白另一边该怎么做。
在用户界面中:
graphRoFCUI("RoFCNameSpace"),
dateRangeInput("dateRange", "Select Date Range:"
, start = max("2016-6-27", Sys.Date()-366)
, end = Sys.Date()
, min = "2016-6-27"
, max = Sys.Date()
)
在服务器中:
callModule(graphRoFC, id = "RoFCNameSpace", conn, reactive(input$dateRange))
在我的模块中。R:
graphRoFCUI <- function(id) {
ns <- NS(id)
plotlyOutput(outputId = ns("RoFCOverTime"))
}
...
graphRoFC <- function(input, output, session, conn, dateRange) {
limitDateRangePercentRoFCDF <- reactive({
PercentRoFCDF.dateLimited <- subset(PercentRoFCDF, TicketLocalCreatedDate > dateRange[1] & TicketLocalCreatedDate < dateRange[2])
return(PercentRoFCDF.dateLimited)
})
...
}
我得到的是:
Warning: Error in $: object of type 'closure' is not subsettable
Stack trace (innermost first):
80: as.Date
79: ggplotly [sdesc.R#43]
78: func
77: origRenderFunc
76: output$RoFCNameSpace-RoFCOverTime
1: runApp
【问题讨论】: