作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 renderUI 根据用户对可视化选项的选择来选择性地呈现表格或绘图。我还使用 Shiny 模块在多个选项卡上呈现相同的内容。虽然我已经让 Shiny 模块在另一个应用程序中工作得很好,但我正在努力让它与 renderUI 一起工作。
这是我想出的一小段代码,它显示了两个选项卡上都没有显示任何内容的问题:
myUI <- function(id) {
ns <- NS(id)
fluidRow(
uiOutput(ns('myFinalText'))
)
}
ui <- fluidPage(
tabBox(id = 'myBox', width = 12,
tabPanel('Tab1',
fluidRow(
myUI('tab1')
)),
tabPanel('Tab2',
fluidRow(
myUI('tab2')
))
)
)
myTextFunc <- function(input, output, session, text) {
output$myFinalText <- renderUI({
output$myText <- renderText({text})
textOutput('myText')
})
}
server <- function(input, output, session) {
callModule(myTextFunc, 'tab1', session = session, 'Hello Tab1')
callModule(myTextFunc, 'tab2', session = session, 'Hello Tab2')
}
shinyApp(ui = ui, server = server)
myUI <- function(id) {
ns <- NS(id)
fluidRow(
textOutput(ns('myFinalText'))
)
}
myTextFunc <- function(input, output, session, text) {
output$myFinalText <- renderText({
text
})
}
最佳答案
您可以从 session 对象中获取命名空间。更改myTextFunc
在像这样的初始应用程序中:
myTextFunc <- function(input, output, session, text) {
ns <- session$ns
output$myFinalText <- renderUI({
output$myText <- renderText({text})
textOutput(ns('myText'))
})
}
关于r - Shiny 的模块不适用于 renderUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39273043/
我是一名优秀的程序员,十分优秀!