r语言 - 在SHINY中将选定的值从外部模块传递到内部模块



我一直在研究以下问题。

这里

然而,我被这个问题的一个变体卡住了:

我试图只传递某些值(vals))从inputModule到outputModule。
但是,我的inputModule还有一个额外的渲染输出。这似乎阻止了应用程序的工作。
在我的实际应用中,inputModule需要将数据传递给一个嵌套的(outputmodule),并产生额外的输出和UI。

如何限制callModule或MyImProxy仅为vals而不是通过输出$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) ```

您的问题在于inputModuleUI。如果你组合了几个ui元素,用tagList:

将其括起来
inputModuleUI <- function(id){
ns <- NS(id)
tagList(
wellPanel(h3("Input Module"),
textInput(ns('text1'), "First text"),
textInput(ns('text2'), "Second text"), 
textInput(ns('text3'), "Third text")
), 

verbatimTextOutput(ns("mytext"))
)
}

相关内容

  • 没有找到相关文章

最新更新