首页 > 解决方案 > 如何在闪亮的模块化函数上使用 RenderUI?

问题描述

当我运行此代码时,它会生成一个输出。它只有一个示例模块化功能和一个主应用程序。它工作得很好,但是当我尝试通过 renderUI 渲染它时它不起作用。我知道这里一定有一个我不知道的把戏。如果您知道,请告诉我。

library(shiny)

mod_ui <- function(id){

ns<-NS(id) 

        fluidPage(
        plotOutput(ns('plot'))
    )
}

mod_server <- function(input, output, session) {
      output$plot<-renderPlot(
      plot(iris)
    )  
}

main_ui<-
    mod_ui('any_id')
    # uiOutput('any_id')


main_server<-function(input,output,session){
    callModule(mod_server,'any_id')

    # output$app<- renderUI(
        # mod_ui('any_id')  
    # )

}

shinyApp(main_ui, main_server)

当您稍微扭曲代码时,它不起作用。它会生成一个空白页。

library(shiny)
mod_ui <- function(id) {
    ns <- NS(id)
    fluidPage(plotOutput(ns('plot')))
  }    


mod_server <- function(input, output, session) {
    output$plot <- renderPlot(plot(iris))
  }


main_ui <-
    # mod_ui('any_id')
    uiOutput('any_id')


main_server <- function(input, output, session) {
    callModule(mod_server, 'any_id')

    output$app <- renderUI(mod_ui('any_id'))

}

shinyApp(main_ui, main_server)

我正在尝试找到解决此问题的方法,以便可以为不同用户创建带有条件页面的基本登录页面。我确信我现在肯定缺少一些东西,但我仍然需要任何解决方案。请至少指出我正确的方向。

标签: rshinyshinydashboard

解决方案


推荐阅读