我試圖在Shiny中想出一個應用程序,該應用程序接收名爲「利益相關方數量」的初始輸入,並且根據該數量,我想它會更改navbarPage()
和navlistPanel()
結構中的選項卡數量。如何在Shiny中更改動態UI中的輸入數
當前的代碼我有複製一個類似的序列多次固定的利益相關者我設置的最大數量,留下我,不斷地重複一個巨大的10.000行代碼的命令:
tabPanel("Stakeholder #3",
fluidRow(
column(2, textInput(inputId = "sh.name.3", label = "Stakeholder's name")),
column(1),
column(4, textInput(inputId = "sh.3.option.1", label = "Option #1")),
column(1),
column(4, textInput(inputId = "sh.3.option.2", label = "Option #2"))
),
fluidRow(
column(3),
column(4, textInput(inputId = "sh.3.option.3", label = "Option #3")),
column(1),
column(4, textInput(inputId = "sh.3.option.4", label = "Option #4"))
),
我試圖找到一個選項,允許我同時創建一個更緊湊的代碼,這爲我提供了一種製作動態UI的方法,這意味着需要找到一種能夠動態管理變量的方法。
儘管R自然允許以流暢的方式管理變量,但我還沒有成功使用Shiny中的列表,向量或數據框架等結構。
我查了好幾天,但我沒能找到比這更復雜(這與變量重置本身有問題):http://shiny.rstudio.com/gallery/dynamic-ui.html
是否有任何解決方案來執行像我是什麼尋找?
謝謝您的高級。
我假設你知道'renderUI'並且有一些使用它的經驗,並且你的主要問題是創建一個動態數字**的選項卡**。有很多關於如何創建動態數量輸入的示例,使用renderUI很容易,所以我會繼續假設創建制表符是困難的部分,因爲沒有太多示例。看看[這個問題+答案](http://stackoverflow.com/questions/19470426/r-shiny-add-tabpanel-to-tabsetpanel-dynamicaly-with-the-use-of-renderui)如何做到這一點,希望它有幫助 –