【发布时间】:2021-06-04 04:15:00
【问题描述】:
我一直在研究以下问题。
但是,我遇到了问题的一个变体:
我正在尝试仅将 某些值 (vals) 从 inputModule 传递到 outputModule。
但是,我的 inputModule 还有一个额外的渲染输出。这似乎阻止了应用程序运行。
在我的真实应用中,inputModule 需要将数据传递给嵌套的(输出模块)并产生额外的输出和 UI。
如何将 callModule 或 MyImProxy 限制为仅 vals 并且不在应用服务器调用中将 output$mytext 传递给我的 outputModule?
是否可以在将 output$mytext 保留在 inputModule 中的同时运行此代码?
非常感谢
library(shiny)
inputModuleUI <- function(id){
ns <- NS(id)
wellPanel(h3("Input Module"),
textInput(ns('text1'), "First text"),
textInput(ns('text2'), "Second text"),
textInput(ns('text3'), "Third text")
),
verbatimTextOutput(ns("mytext"))
}
inputModule <- function(input, output, session){
vals <- reactiveValues()
observe({vals$text1 <- input$text1})
observe({vals$text2 <- input$text2})
return(vals)
#I need this output to stay in the inputModule
output$mytext <- renderPrint({
paste(input$text3)
})
}
outputModuleUI <- function(id){
tagList(
inputModuleUI('IM'),
wellPanel(h3("Output Module"),
verbatimTextOutput(NS(id, "txt")))
)
}
outputModule <- function(input, output, session, ImProxy){
output$txt <- renderPrint({
paste(ImProxy$text1, "&", ImProxy$text2)
})
}
ui <- fluidPage(
outputModuleUI('OM')
)
server <- function(input, output, session){
#here is where I need to only pass vals to MyImProxy...
MyImProxy <- callModule(inputModule, 'IM')
callModule(outputModule, 'OM', MyImProxy)
}
shinyApp(ui, server) ```
【问题讨论】:
标签: r shiny shiny-reactivity