[英]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.