【问题标题】:Possible to show messageItem in shiny navbarPage?可以在闪亮的 navbarPage 中显示 messageItem 吗?
【发布时间】:2018-05-29 21:46:05
【问题描述】:

类似于shinydashboard 中可用的dropdownMenu 和messageItem 函数我想在基于navbarPage 的应用程序的导航栏右侧显示消息项。此处相关函数示例:https://rstudio.github.io/shinydashboard/structure.html

我尝试将相同的功能插入到 navbarPage 应用程序中,但它没有按预期工作 - 未正确对齐。

作为一个非常基本的可重现示例,这是我的应用程序的结构,我尝试包含消息项:

library(shiny)
library(shinydashboard)

ui <- shinyUI(
    navbarPage("Navbar!",
               tabPanel("Plot",
                   sidebarLayout(
                     sidebarPanel(),
                     mainPanel()
                   )
               ),
               tabPanel(
                   dropdownMenu(type = "messages",
                                messageItem(
                                    from = "Sales Dept",
                                    message = "Sales are steady this month."
                               )
                   )
               )
    )
)

server = function(input, output) { }

shinyApp(ui = ui, server = server)

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    我不是最擅长 css,但这是获得您正在寻找的结果的开始。将用户界面更改为:

    ui <- shinyUI(
              fluidPage(
                  tags$head(
                      tags$style(HTML("
                          .navbar-nav .messages-menu a {padding-top: 0px; padding-bottom:0px}
                          .navbar-nav {width: 90%}
                          .navbar-nav .messages-menu {float: right; padding-top: 25px;}
                      "))
                  ),
              navbarPage("Navbar!",
                  tabPanel("Plot",
                      sidebarLayout(
                          sidebarPanel(),
                          mainPanel()
                      )
                  ),
                  tabPanel(
                      dropdownMenu(type = "messages",
                          messageItem(
                              from = "Sales Dept",
                              message = "Sales are steady this month."
                          )
                      )
                  )
             )   
         )
     )
    

    宽度将类 navbar-nav 设置为屏幕宽度的 90%,因为它是包含两个选项卡面板但不包含标签“Navbar!”的空间,第二行包含类消息菜单navbar-nav 并将其移动到由 navbar-nav 填充的空间的右侧(因此我们必须扩展宽度以包括所有未被标签占用的标题;这个百分比可能必须根据文本输入而改变代替“导航栏!”)。

    【讨论】:

    • 唯一的问题是它在 Plot tabPanel 级别下方的新行上呈现(使导航栏更厚)。如果可能的话,我需要这些在同一级别上@Amanda
    • 我同意,我编辑了我的答案以包含更新的 css。这应该可以工作,尽管百分比和 px 可能需要根据导航栏中的内容进行调整。
    • 这完全符合我的需要@Amanda,我已标记为答案,再次感谢
    猜你喜欢
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2017-06-26
    • 2019-03-28
    • 1970-01-01
    • 2021-07-01
    相关资源
    最近更新 更多