2017-10-11 87 views
-1

這應該很簡單,但它不像我預期的那樣工作。我所要做的就是在從主服務器功能向模塊傳遞無功元素時獲得「第一光」。這個玩具示例的要點很簡單:用戶在textInput()框中鍵入任何內容,並將該值顯示在兩個verbatimTextOutput()框中,一個來自主服務器,另一個來自模塊服務器。我正在尋找這兩個框來顯示用戶鍵入的內容,但模塊框不顯示。這告訴我模塊沒有正確接收參數,我沒有看到我的錯誤。謝謝!R Shiny:發送反應值到模塊

library(shiny) 

ui <- function(request) { 
    fluidPage(
     column(12, textInput("par", "Parameter", value = "")), 
     column(12, parametersMDUI(0)), 
     column(12, verbatimTextOutput("view", placeholder = TRUE)) 
     ) 
} 

server <- function(input, output, session) { 
    param <- reactive({ input$par }) 
    callModule(parametersMDServer, 0, param) 
    output$view <- renderText({ param() }) 
} 


parametersMDUI <- function(id) { 
    ns <- NS(id) 

    tags$div(
     column(12, verbatimTextOutput("symbolName", placeholder = TRUE)), 
     id = ns('parametersMDui') 
    ) 
} 


parametersMDServer <- function(input, output, session, param) { 
    ns = session$ns 

    output$symbolName <- renderText({ param }) 
} 

shinyApp(ui = ui, server = server, enableBookmarking = "server") 

回答

0

好像你在代碼中使用tags$div(..., id = "my_output_id"),然後嘗試renderUI訪問DIV?這不起作用。使用「標準」

# server side 
output$my_output_id <- renderUI({ ... }) 

# client side 
uiOutput("my_output_id") 

改爲。除此之外,您忘記使用parametersMDUI中的ns功能。我不會再發布任何固定版本的代碼,因爲你的錯誤開始重複,你真的需要能夠自己發現它們。