我正在尝试为我在R中动态使用的方框渲染标题。
截至目前,包装盒代码如下所示
box( title = "lorem ipsum",
width = 6,
solidHeader = TRUE,
status = "primary",
tableOutput("consumption"),
collapsible = T
)
是否可以在服务器中使用渲染文本并将文本作为标题传递:
con1 <- renderText({
if (age() == FALSE)
{
return("lorem1")
}
else
{
return("lorem2")
}
})
答案 0 :(得分:4)
您应该将renderText
的输出存储为output$x
,其中x
是任意的,因此您可以在框的title参数中将该元素称为textOutput('x')
。所以一个工作的例子如下所示。希望这有帮助!
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
checkboxInput('mybox',label = 'Title'),
box(title=textOutput('title'),
width = 6,
solidHeader = TRUE,
status = "primary",
p('Use the checkbox to change the title of this box.')
)
)
)
server <- function(input, output) {
output$title <- renderText({ifelse(!input$mybox,'Title 1','Title 2')})
}
shinyApp(ui,server)