r - Shiny :在操作按钮单击时显示 mainPanel

标签 r shiny shiny-server shinydashboard

只有当用户单击操作按钮时,有没有办法显示 mainPanel 中的所有内容?我已经在互联网上搜索了一段时间的答案,但无法真正找到答案。我知道我可以使用 hidden - 它适用于 mainPanel 内的较小元素,例如单击时显示图片,但不适用于整个 mainPanel 本身。有什么建议?找到一种方法将整个主面板包裹在一个隐藏中而不是将 mainPanel 中的每个元素包裹在一个隐藏中会更容易我认为,但我似乎无法找到使其工作的方法。

在仪表板主体中:

fluidRow(
  column(12, actionButton("analyze", "Fetch Data!", width = "100px"))), 

hidden(    
     mainPanel(  
        hidden( (htmlOutput("artistpic")), // this works fine & shows on button click
        infoBoxOutput("approvalBox"))     
            )),

服务器:
  pic <- eventReactive(input$analyze2, {
      print(get_id_picture()[3])
      url = toString(get_id_picture()[3])
      print(url)
      url 
  })
  output$artistpic <- renderText({c('<img src="',pic(),'"width="17%" height="17%">')})

最佳答案

这很容易使用 shinyjs .

就围mainPanel()div()标签,以便您可以使用它的 id 来切换它的可见性,并使用 hidden() 隐藏 div 标签启动应用程序如下例所示:

# ui.R

fluidPage(
  useShinyjs(),
  actionButton("toggle.main.button", "Toggle Main"),
  div(id = "main",
    mainPanel(
      p("This paragraph is in main."),
      p("This one too!")
    )
  ) %>% shinyjs::hidden()
)

# server.R

library(shinyjs)

function(input, output, session) {

  # Toggling visability of main on button click.
  observeEvent(input$toggle.main.button, {
    shinyjs::toggle("main")
  })

}

关于r - Shiny :在操作按钮单击时显示 mainPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50079049/

相关文章:

javascript - 将 sliderInput 值设置为 Shiny 的字符

r - 单击按钮在 Shiny 表中添加一个新的空行

r - 在Shiny-Server中发布后如何在Rmarkdown中启用表情符号以显示

r - 通过使用 dplyr 在列中查找术语来分组

r - 在 R 中导出月份名称时出错

R make install 失败,文件丢失

r - 使代码在单击 R 演示文稿时运行

r - Shiny App 的条件错误消息

r - ERROR : An error has occurred. 检查您的日志或联系应用程序作者进行澄清

linux - 猫 :/proc/1/comm: File not found