【发布时间】:2020-05-23 19:20:38
【问题描述】:
我正在尝试创建一个动态条件面板。所以我的条件如下:
用户界面中的输入:
selectInput('inpt','Input Number', seq(1,50,1), selectize = FALSE)
我的条件面板 UI 输入是:
conditionalPanel(
"input.inpt == 2",
box(
selectInput("id1", "Select number",
seq(1, 24, 1), selected = 1),
selectInput("id2", "Select number",
seq(1, 24, 1), selected = 1),
width = 2,
status = "primary"
)
),
conditionalPanel(
"input.inpt == 3",
box(
selectInput("id1", "Select number",
seq(1, 24, 1), selected = 1),
selectInput("id2", "Select number",
seq(1, 24, 1), selected = 1),
selectInput("id3", "Select number",
seq(1, 24, 1), selected = 1),
width = 2,
status = "primary"
)
所以这段代码运行良好!但问题是它是硬编码的。
您可以在 selectInput 中查看,我总共有 50 个输入。
根据输入,我拥有完全相同数量的新 selectInput 面板。
示例:如果选择了 3,我将有 3 个 selectInput,id1、id2、id3(如上面的代码所示)。 如果选择 18,我将有 18 个带有 id1、id2、...、id18 的 selectInput。 如果选择了“n”,我将有 id1、id2、... idn 的“n”selectInput。
我不想写这么多次代码。
P.S.:所有更改都在 box() 中进行。我不想创建多个框。
那么如何概括这个呢?如果我有“n”个输入,如何重复这种方法?
【问题讨论】:
标签: r shiny dynamic-programming shinydashboard