Скрыть заголовок навигационной панели - PullRequest
0 голосов
/ 15 января 2019

Я работаю над блестящим приложением с навигационной страницей с множеством панелей. Вот минимальный пример:

ui <- navbarPage(
  'example', collapsible=TRUE,
  tabPanel("panel 01", 'some text'), tabPanel("panel 02"), tabPanel("panel 03"), 
  tabPanel("panel 04"), tabPanel("panel 05"), tabPanel("panel 06"), 
  tabPanel("panel 07"), tabPanel("panel 08"), tabPanel("panel 09"), 
  tabPanel("panel 10"), tabPanel("panel 11"), tabPanel("panel 12")
)
server <- function(input, output){}  
shinyApp(ui=ui, server=server)

Теперь, если экран достаточно широкий, вкладки хорошо совпадают с заголовком и выглядят так: 01

Однако в меньшем окне панели больше не помещаются в один ряд, что приводит к следующему: 02

Заголовки панелей перемещаются в строку под заголовком, в основном тратя много места в строке заголовка. Это особенно раздражает, поскольку у меня установлен заголовок "" или NULL, что приводит к пустой строке: 03

Есть ли способ удалить / скрыть эту пустую строку? Я пытался возиться с тегами стилей, но ничего не помогло решить эту проблему.

1 Ответ

0 голосов
/ 15 января 2019

Вы можете скрыть navbar-brand с помощью .css, установив {display:none}. Для этого вам нужно немного адаптировать свой интерфейс. Поскольку вы используете navbarPage, вам нужно добавить функцию tagList. Если вы не включите его в список тегов, блестящий подумает, что вы хотите создать новый tabPanel, и появится вкладка-призрак. Подробнее здесь.

Рабочий пример:

ui <- shinyUI(
  tagList(tags$head(tags$style(type = 'text/css','.navbar-brand{display:none;}')),
          navbarPage(
            '', collapsible=TRUE,
            tabPanel("panel 01", 'some text'), tabPanel("panel 02"), tabPanel("panel 03"), 
            tabPanel("panel 04"), tabPanel("panel 05"), tabPanel("panel 06"), 
            tabPanel("panel 07"), tabPanel("panel 08"), tabPanel("panel 09"), 
            tabPanel("panel 10"), tabPanel("panel 11"), tabPanel("panel 12")
          )))

server <- function(input, output){}  
shinyApp(ui=ui, server=server)
...