Могу ли я сделать заголовок навигационной панели отдельной кликабельной страницей в блестящем?

Мои извинения, если это уже существует, но единственное сообщение, которое, кажется, спрашивает об этом, которое я мог найти, это следующее: Clickable Navbar title и, похоже, это как-то связано с iPhone...

Я создаю блестящее приложение, используя макет панели навигации. В основном он следует стандартному формату:

navbarPage("Title",
  tabPanel("tab1"),
  tabPanel("tab2"),
  tabPanel("tab3")
)

Заголовок слева выглядит как отдельная вкладка — он выделяется при наведении на него курсора, как и другие вкладки, но с более крупным текстом. Это немного странно, потому что создается иллюзия, что на заголовок можно нажать, хотя на самом деле это невозможно.

Что я хотел бы сделать, так это сделать так, чтобы это действительно было так, и иметь возможность щелкнуть по заголовку и перейти на целевую страницу, которой больше нигде нет. По сути, я хочу, чтобы панель заголовка была отдельной страницей.

Есть ли у кого-нибудь предложения о том, как этого добиться? (Я пытался создать отдельную панель вкладок, у которой нет заголовка, на который можно было бы перейти, но а) я не знаю, как сделать заголовок кликабельным, чтобы перейти на него, и б) он не совсем невидим - я должен поставить в качестве заголовка, иначе вместо него появляется первая строка текста, а я этого не хочу. Я также подумал об удалении заголовка с самой страницы панели навигации и создании вместо этого дополнительной вкладки, но при этом теряется элемент размера шрифта заголовка, который намного больше, чем у других вкладок.)


person Pia    schedule 08.11.2020    source источник


Ответы (1)


Вы можете изменить размер шрифта первой вкладки, чтобы он выглядел как заголовок, используя css, как это было предложено A. Сулиман в этой теме (Как изменить атрибуты отображения КОНКРЕТНЫХ вкладок при использовании tabPanel в navbarPage). Также есть хорошее предложение использовать иконку. Вот воспроизводимый код (со значком дома):

library(shiny)

ui <-  fluidPage(tags$style(
  type = 'text/css',
  # add the name of the tab you want to use as title in data-value
  HTML(
    ".container-fluid > .nav > li >
                        a[data-value='Title'] {font-size: 20px}"
  )
),

navbarPage(
  "",
  # blank title
  tabPanel("Title" , icon = icon("home")), # Font Awesome icon
  tabPanel("table 1"),
  tabPanel("table 2")
))

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

Вот как это будет выглядеть.

person ViviG    schedule 09.11.2020