簡體   English   中英

選項卡上的顯示/隱藏按鈕選擇R閃亮

[英]Show/Hide button on tab select 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時,按鈕保持隱藏狀態。

看看之后: 如何在R Shiny中使用tabPanel作為輸入?

我決定使用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初始化時,按鈕元素保留了最后一個樣式修改(隱藏的代碼),並且根據選項卡沒有改變我選擇了,因為它沒有被動反應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM