微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当闪亮的应用程序第一次启动时显示一个按钮,这将导致 tabItems 内容

如何解决当闪亮的应用程序第一次启动时显示一个按钮,这将导致 tabItems 内容

我在下面有包含 tabItems 的 shiny 应用程序。我希望在第一次启动应用程序时显示一个 actionbutton,它将超出 tabItems 内容。然后当我按下它时,我将被移动到 Consent tabItem。这个按钮从那以后就没有用了,它应该消失,因为将显示 tabItems 的内容

library(shiny)
library(shinydashboard)
library(shinydashboardplus)
library(shinyjs)

mytitle <- paste0("")
dbHeader <- dashboardHeaderPlus(
  titleWidth = "0px",tags$li(a(
    div(style="display: inline;margin-top:-35px; padding: 0px 90px 0px 1250px ;font-size: 44px ;color:#001641;font-family:Chronicle display Light; width: 500px;",HTML(mytitle)),div(style="display: inline;padding: 0px 0px 0px 0px;vertical-align:top; width: 150px;",actionButton("conse","Consent",style=" background-color: #faf0e6; border-color: #faf0e6")),),class = "dropdown")
  
  
)

shinyApp(
  ui = dashboardPagePlus(
    header = dbHeader,sidebar = dashboardSidebar(width = "0px",sidebarMenu(id = "sidebar",# id important for updateTabItems
                                           menuItem("Consent",tabName = "conse",icon = icon("line-chart"))
                               )           ),body = dashboardBody(
      tags$head(tags$style(HTML('
  
    '))),useShinyjs(),tags$script(HTML("$('body').addClass('fixed');")),tags$head(tags$style(".skin-blue .main-header .logo { padding: 0px;}")),actionButton("button","Get started",style='padding:4px; font-size:140%'),tabItems(
        tabItem("conse",textInput("pos",label = ("Position"),value = "")

                )
        

      )
      
    )
    
  ),server<-shinyServer(function(input,output,session) { 
    hide(selector = "body > div > header > nav > a")
    
    
    observeEvent(input$button,{
      
        updateTabItems(session,"sidebar",selected = "conse")
      
      
    })
    
  }
  )
)

解决方法

也许你正在寻找这个

library(shiny)
library(shinydashboard)
library(shinydashboardPlus)
library(shinyjs)

mytitle <- paste0("")
dbHeader <- dashboardHeaderPlus(
  titleWidth = "0px",tags$li(a(
    div(style="display: inline;margin-top:-35px; padding: 0px 90px 0px 1250px ;font-size: 44px ;color:#001641;font-family:Chronicle Display Light; width: 500px;",HTML(mytitle)),div(style="display: inline;padding: 0px 0px 0px 0px;vertical-align:top; width: 150px;",actionButton("conse","Consent",style=" background-color: #faf0e6; border-color: #faf0e6") ),),class = "dropdown")
)

shinyApp(
  ui = dashboardPagePlus(
    header = dbHeader,sidebar = dashboardSidebar(width = "0px",sidebarMenu(id = "sidebar",# id important for updateTabItems
                                           menuItem("Consent",tabName = "conse",icon = icon("line-chart"))
                               )           ),body = dashboardBody(
      tags$head(tags$style(HTML('

    '))),useShinyjs(),tags$script(HTML("$('body').addClass('fixed');")),tags$head(tags$style(".skin-blue .main-header .logo { padding: 0px;}")),actionButton("button","Get started",style='padding:4px; font-size:140%'),tabItems(
        tabItem("conse",textInput("pos",label = ("Position"),value = "") )
      )

    )

  ),server<-shinyServer(function(input,output,session) {
    hide(selector = "body > div > header > nav > a")
    shinyjs::hide("conse")
    shinyjs::hide("pos")

    observeEvent(input$button,{
      shinyjs::show("conse")
      shinyjs::show("pos")
      updateTabItems(session,"sidebar",selected = "conse")
      shinyjs::hide("button")

    })

  }
  )
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。