选项卡上的显示/隐藏按钮选择R闪亮

时间:2017-01-19 10:04:20

标签: r shiny

我的ui.R中有一个按钮,我只想在"摘要"选项卡已被选中,所以我想到了这段代码

 fluidRow(
  column(4, 
   column(12,id="sub",
       actionButton("submit", "SUBMIT", width = "100%"))),
  column(8,
   bsCollapse(id = "collapse7", open = "Results",
       bsCollapsePanel("Results",
         tabsetPanel(
          tabPanel("Summary",
            tags$script(HTML("document.getElementById('sub').style.visibility = 'visible';")))
          tabPanel("Plot",
            tags$script(HTML("document.getElementById('sub').style.visibility = 'hidden';"))))
        ))))

问题是,按钮是隐藏的,即使在我的第一个标签中它应该是可见的,当我转到Plots并返回Summary时,按钮保持隐藏状态。

1 个答案:

答案 0 :(得分:3)

查看:How to use tabPanel as input in R Shiny?

我决定使用observeEvent和输入$ tabset选项。结果是100%工作,而且非常简单。这是代码:

observeEvent(input$choices, {
 choice = input$choices
 if(choice == "Summary")
 {
  runjs(
    "document.getElementById('submit').style.visibility = 'visible';"
  )
 }
 else
 {
  runjs(
    "document.getElementById('submit').style.visibility = 'hidden';"
  )
 }
})

另外,我发现为什么我之前的代码不起作用,这是因为当UI初始化时,按钮元素保留了最后一个样式修改(隐藏的代码)并且它没有&#39 ; t取决于我选择的标签,因为它没有被动反应。