我正在使用bsCollapse
面板(來自shinyBS
庫),這在很大程度上在我正在開發的應用程序中。我希望能夠在代碼中顯示的服務器端定義一個面板。該代碼不運行並返回錯誤ERROR: argument is of length zero
。問題似乎是bsCollapse
不會接受renderUI
參數,並要求bsCollapsePanel調用位於ui.R.renders中的bsCollapsePanel UI
我試過在服務器端有bsCollapse()
,它的工作原理很笨重,因爲各個面板不會以相同的方式展開/摺疊。我也嘗試過,包括outputOptions(output, "hipanel", suspendWhenHidden = FALSE)
,這個想法是我的「hipanel」會在早些時候評估,但是這不起作用。
我認爲關鍵是renderUI/uiOutput沒有返回bsCollapsePanel
接受的對象(至少不是在正確的時間),但我不知道該怎麼做。
server.R
shinyServer(function(input, output){
output$hipanel<-renderUI({
bsCollapsePanel("hello",helpText("It's working!"))
})
})
ui.R
shinyUI(fluidPage(
mainPanel(
bsCollapse(
bsCollapsePanel("This panel works",helpText("OK")),
uiOutput("hipanel")
))))
感謝您的迴應,但我特別希望在服務器端有'bsCollapsePanel'和在用戶界面有'bsCollapse'。我需要動態生成一些面板,並且我不想訴諸於renderUI中的我的整個UI(我的UI的大部分都是可摺疊的)。 – Nicky