且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Shinydashboars tabItems无法正常工作

更新时间:2023-12-06 17:28:16

我解决了!该问题似乎是由.md文件引起的.我不知道为什么,但是它们阻止了tabItem的关闭.奇怪的是,它最初似乎可以在RStudio环境中工作,而现在却不能.但是在我的 AWS上部署后Shiny Server 一切正常.奇怪的事情正在这里发生!

I solved it! The problem seems to be caused by the .md files. I don't know why but they prevent the closure of the tabItem. The weird thing though is that it first seemed to work in the RStudio environment and now it doesn't. However after deployment on my AWS Shiny Server everything looks OK. Weird things are happening here!

library(shiny)
library(shinydashboard)
library(markdown)
library(DT)


# Simple header -----------------------------------------------------------

header <- dashboardHeader(title="Economencongres")

# Sidebar --------------------------------------------------------------

sidebar <- ## Sidebar content
  dashboardSidebar(
    sidebarMenu(
      menuItem(
        "Programma 2015",
        tabName = "Programma",
        icon = icon("info-circle")
      ),
      menuItem(
        "Deelnemers",
        tabName = "Deelnemers",
        icon = icon("users")
      ),
      menuItem(
        "Notulen",
        tabName = "Notulen",
        icon = icon("file-text")
      ),
      menuItem(
        "Presentaties",
        tabName = "Presentaties",
        icon = icon("file-movie-o")
      )
    )
  )

# Compose dashboard body --------------------------------------------------

body <- dashboardBody(
  tabItems(

    # First tab content
    # Boxes need to be put in a row (or column)
    tabItem(
      tabName = "Programma",
      fluidRow(
        box(
          width = 12,
          h2("Agenda d.d. 25-03-2015"),
          includeHTML("Agenda.html")
        ) 
      ) # End of fluidRow
    ), # End of tabItem

    # Second tab content
    # Boxes need to be put in a row (or column)
    tabItem(
      tabName = "Deelnemers",
      fluidRow(
        tabBox(
          width = 12,
          title = "",
          id = "tabset2", height = "250px",
          tabPanel("Kaart",
                   h2(""),
                   tags$iframe(
                     width="800",
                     height="600",
                     seamless="seamless",
                     src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/map.html"
                   )
          ),
          tabPanel("Lijst",
                   DT::dataTableOutput('deeln')
          )
        ) # End of tabBox
      ) # End of fluidRow,
    ), # End of tabItem

    # Third tab content
    # Boxes need to be put in a row (or column)
    tabItem(
      tabName = "Notulen",
      fluidRow(
        box(
          h2(""),
          width = 12,
          includeMarkdown("txt10.md")
        ),
        box(
          h2(""),
          width = 12,
          includeMarkdown("txt11.md")
        ),
        box(
          h2(""),
          width = 12,
          includeMarkdown("txt12.md")
        )
      ) # End of fluidRow
    ), # End of tabItem

    # Fourth tab content
    # Boxes need to be put in a row (or column)
    tabItem(
      tabName = "Presentaties",
      fluidRow(
        tabBox(
          width = 12,
          title = "",
          id = "tabset1",
          height = "250px",
          tabPanel(
              "Presentatie ABN AMRO",
              h2("Danny van Brummelen"),
              box(
              tags$iframe(
                width="800",
                height="600",
                seamless="seamless",
                src="http://www.allmoocs.nl/wordpress/wp-content/uploads/2015/05/ABN.pdf"
              )
            )
          ),
          tabPanel(
              "Presentatie HAN BKMER",
              h2("Witek ten Hove"),
              h4("Klik op de presentatie en navigeer met de pijlen op het toetsenbord"),
              box(
              tags$iframe(
                width="1000",
                height="800",
                seamless="seamless",
                src="http://witusj.github.io/Economencongres/economen25032015.html"
              )
            )
          )
        ) # End of tabBox
      ) # End of fluidRow
    ) # End of tabItem
  ) ## End tabItems
) ## End dashboardBody




# Setup Shiny app UI components -------------------------------------------

ui <- dashboardPage(header, sidebar, body, skin = "purple")

# Setup Shiny app back-end components -------------------------------------

server <- function(input, output) {

  source('map.R')
  output$deeln <- DT::renderDataTable({
    DT::datatable(ec[,c(2:8)])

  })
}


# Render Shiny app --------------------------------------------------------

shinyApp(ui, server

)