r - 有没有办法将数组用作 Shiny 元素的 inputId?
问题描述
我需要可变数量的文本框输入。目前我在循环中创建输入,
textInput(paste0("text", i))
然后我可以使用
input$text1, input$text2, input$text3, ...
但我不能在循环中使用这些显式表达式。我尝试使用 ensym 和 get(eval(...)) 但它不起作用。
有没有办法在数组中定义每个 textInput 的 inputIds,例如 textInput("text[i]"))?
这是一个简化的示例:
应用程序.R
library(shiny)
ui <- fluidPage(
textInput(paste0("textin1"), label = NULL, value = 1),
textInput(paste0("textin2"), label = NULL, value = 2),
textInput(paste0("textin3"), label = NULL, value = 3),
verbatimTextOutput("textout1"),
verbatimTextOutput("textout2"),
verbatimTextOutput("textout3")
)
server <- function(input, output, session) {
output$textout1 <- renderText({input$textin1})
output$textout2 <- renderText({input$textin2})
output$textout3 <- renderText({input$textin3})
}
shinyApp(ui, server)
有没有办法通过数组分配输入和输出,即 textin[i] 而不是 textin1, textin2, ...