shinyR - 通过文本动态引用输入字段值

shinyR - Dynamically Reference Input Field Value via Text

我构建了一个包含很多很多输入字段的输入表单。

我想引用这些字段中的每一个,方法是使用 for 循环语句,将标签动态生成为文本,并将其闪亮地视为标签名称(而不是对每个字段键入数百次调用)。

我可以构建循环语句,问题是我不知道如何显式引用闪亮的输入字段 - 当然不输入 input$fieldname。

有没有一种方法可以明确地将文本“input$fieldname”转换为引用闪亮输入字段的值?

您可以像这样动态引用输入:

input[['mytextbox']]

所以如果你有字符串“input$mytextbox”,你可以像这样得到它的值:

mystring <- "input$mytextbox" 
input[[substring(mystring, 7)]]

这是一个最小的工作示例

library(shiny)

mystring <- "input$mytextbox" 

ui <- fluidPage(
  
    textInput('mytextbox', 'My Text Box', value = 'Hello World'),
    actionButton('mybutton', 'Dynamically Get Value')
    
)

server <- function(input, output, session) {
    
    observeEvent(input$mybutton, {

        showNotification(
            
            input[[substring(mystring, 7)]]
            
        )
 
    })
  
}

shinyApp(ui, server)