首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >闪亮的仪表板-如何为边栏项目添加文本

闪亮的仪表板-如何为边栏项目添加文本
EN

Stack Overflow用户
提问于 2020-02-12 07:09:36
回答 2查看 1.8K关注 0票数 0

我试图在我闪亮的仪表板上添加网站信息,对于“关于”部分(见图),我希望当单击该选项卡时,仪表板主体上只显示几行。我怎么可能做到呢?我可以成功地为“联系人”部分添加href。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-12 07:50:58

也许我听不懂你的问题,但你说的是:

代码语言:javascript
运行
复制
library(shiny)
library(shinydashboard)

header <- dashboardHeader()

sidebar <- dashboardSidebar(
  sidebarMenu(
    id = "tabs",
    menuItem("About", icon = icon("info"), tabName = "about"),
    menuItem("Contact", icon = icon("phone"), tabName = "contact")
    )
  )
)

body <- dashboardBody(
  tabItems(
    tabItem("about",
            h1("About")),
    tabItem("contact",
            h1("Contact"))
  )
)

shinyApp(
  ui = dashboardPage(header, sidebar, body),
  server = function(input, output) { }
)

当您单击About时,您将在dashboardBody中获得一个新的选项卡,在该选项卡中您可以显示任何您想要的内容。

更新

根据您的说明,您可以使用shinyjs进行hide/show,相关部分如下:

代码语言:javascript
运行
复制
library(shiny)
library(shinydashboard)
library(shinyjs)

header <- dashboardHeader()

sidebar <- dashboardSidebar(
  sidebarMenu(
    id = "tabs",
    menuItem("About", icon = icon("info"), tabName = "about"),
    menuItem("Contact", icon = icon("phone"), tabName = "contact")
  )
)
)

body <- dashboardBody(
  useShinyjs(),
  fluidPage(
    fluidRow(id = "mainContent",
      column(12, h1("Main Content"))
    ),
    hidden(fluidRow(id = "contact", h1("Contact Info")))
  )
)

shinyApp(
  ui = dashboardPage(header, sidebar, body),
  server = function(input, output) {
    observe({
      if (input$tabs == "contact") {
        hideElement("mainContent")
        showElement("contact")
      } else {
        hideElement("contact")
        showElement("mainContent")
      }
    })
  }
)

当您现在单击Contact时,主要部分将被隐藏,并显示联系人。然而,我有一种感觉,那就是使用shinydashboard的想法有点不正确。

票数 1
EN

Stack Overflow用户

发布于 2020-02-12 09:08:41

@thothal,它不允许我添加作为评论的长度,因此张贴我的评论(以下)作为一个答复。

如果我不清楚的话我很抱歉。然而,你的回答部分地帮助了我。我已经在我的tabItems部分中加入了dashboardBody部分,如下所示:

代码语言:javascript
运行
复制
dashboardBody(
    fluidPage(
       fluidRow(
          column(12, div(dataTableOutput("dataTable")))
       )
    ),
    tabItems(
       tabItem("About", h1("text to be displayed"))
    )
)

但是“要显示的文本”显示在表下面。

我想要的是,About部分(单击时)应该只显示文本,而不是表。我知道这只是dashboardBody部分中代码的格式化,但我不知道该如何做。

更清楚的是,我的仪表板部分应该始终显示datatable,单击about部分应该显示文本,而不是datatable。我真的希望这是清楚的。谢谢你的帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60182902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档