在RShiny的ui中,可以使用conditionalPanel
函数来根据所选内容动态显示多个numericInput
。
conditionalPanel
函数接受一个条件表达式和一个要显示的UI元素。当条件表达式为真时,该UI元素将被显示,否则将被隐藏。
下面是一个示例代码,演示如何根据所选内容动态显示多个numericInput
:
library(shiny)
ui <- fluidPage(
selectInput("input_type", "选择类型", choices = c("A", "B", "C")),
conditionalPanel(
condition = "input.input_type == 'A'",
numericInput("input_a1", "输入A1", value = 0),
numericInput("input_a2", "输入A2", value = 0)
),
conditionalPanel(
condition = "input.input_type == 'B'",
numericInput("input_b1", "输入B1", value = 0),
numericInput("input_b2", "输入B2", value = 0),
numericInput("input_b3", "输入B3", value = 0)
),
conditionalPanel(
condition = "input.input_type == 'C'",
numericInput("input_c1", "输入C1", value = 0)
)
)
server <- function(input, output) {
# 服务器逻辑代码
}
shinyApp(ui = ui, server = server)
在上面的示例中,首先使用selectInput
创建一个选择框,用于选择类型。然后使用conditionalPanel
根据选择的类型动态显示不同的numericInput
。
当选择类型为"A"时,会显示两个numericInput
,分别是"输入A1"和"输入A2"。当选择类型为"B"时,会显示三个numericInput
,分别是"输入B1"、"输入B2"和"输入B3"。当选择类型为"C"时,会显示一个numericInput
,是"输入C1"。
你可以根据自己的需求修改示例代码,添加更多的条件和numericInput
。
领取专属 10元无门槛券
手把手带您无忧上云