我有一个简单的闪亮应用程序:
#ui.r
navbarPage(
"Application",
tabPanel("General",
sidebarLayout(
sidebarPanel(
uiOutput("tex2"),
br(),
uiOutput("select")
),
mainPanel(
)
)))
#server.r
library(shiny)
server <- function(input, output,session) {
output$tex2<-renderUI({
numericInput("text2","#tests",
value = 1,
min=1
)
})
output$select<-renderUI({
selectInput("sel", label = "Select Test",
for(i in 1:input$text2){
choices = list(paste("Test",i) == i)},selected = input$text2
)
})
}
如您所见,它包含一个numericInput()
和一个selectInput()
。我要实现的是基于selectInput()
创建numericInput()
个选择及其名称。例如,如果我在numericInput()
中选择“ 2”,则selectInput()
应该有两个选项,名称分别为“ Test1”,“ Test2”。
答案 0 :(得分:1)
您需要这样的东西,您不需要循环函数参数(选择),只需创建所需的数据并将其传递给参数即可。
output$select<-renderUI({
selectInput(
inputId = "sel",
label = "Select Test",
selected = input$text2,
choices = rep(paste0("Test", 1:input$text2))
)
})