【问题标题】:shiny: dynamically change tab names闪亮:动态更改选项卡名称
【发布时间】:2017-12-19 23:45:01
【问题描述】:

我正在开发一个应该可以处理多种语言的 Shiny 应用程序。我设法根据selectInput 选择语言来动态翻译应用程序的几乎所有元素。然而,“硬东西”仍然是我页面中的navbarPage 标签以及tabPanels。我不能改变他们的名字。我试过了,但它不起作用:

library(shiny)
ui <- navbarPage("App Title",
                 tabPanel("tab1", 
                          selectInput("language", "language", c("EN", "FR"), width = '300px'),
                          textOutput("text")),
                 uiOutput("render_tab2"))
server <- function(input, output, session) {
  output$text = renderText({ switch(input$language, "EN"="hello world", "FR"="bonjour monde")  })
  output$render_tab2 = renderUI({
    tabPanel( title=switch(input$language, "EN"="tab2", "FR"="onglet2") )})}
shinyApp(ui, server)

updatenavbarpanel() 系列功能只是设置活动选项卡,而不是更改它们的特性...有没有办法做到这一点,如果可能的话,不会改变我所有应用程序的结构...谢谢很多。

【问题讨论】:

  • 查看renderUI 以动态呈现具有不同名称的选项卡

标签: r shiny translation navbar tabpanel


【解决方案1】:

这段代码动态设置标题:

library(shiny)
ui <- navbarPage("App Title",
                 tabPanel(title = uiOutput("title_panel"), 
                          selectInput("language", "language", c("EN", "FR"), width = '300px')
                )
    )

server <- function(input, output, session) {

    output$title_panel = renderText({
        switch(input$language, "EN"="hello world", "FR"="bonjour monde") 
    })
}

shinyApp(ui, server)

编辑:适用于 uiOutput("title_panel")textOutput("title_panel")

【讨论】:

  • 谢谢!这是我没想到的好解决方案!
猜你喜欢
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-07
相关资源
最近更新 更多