R Shiny Dynamic选择输入 - 捕获事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R Shiny Dynamic选择输入 - 捕获事件相关的知识,希望对你有一定的参考价值。

我正在使用renderUI在我的UI上创建动态文本框和下拉列表。我想捕获文本框/下拉列表中的更改事件并修改数据框

以下是创建UI的代码

server <- function(input, output, session){

  output$fileContent <- renderTable({
    inFile <- input$csvFile
    csvContent <- read.csv(inFile$datapath)
    output$summary <- renderPrint({str(csvContent)})
    allColumns <- names(csvContent)
    types <- sapply(csvContent, class)
    w <- ""
    for (i in 1:length(allColumns)){
      w <- paste(w, selectInput(paste("inp",allColumns[i], sep = "_"), allColumns[i],choices = c("factor","integer","logical","character", "Date"), selected = types[i], width = 200))
    }
    output$columns <- renderUI({ html(w) })
    return (head(csvContent))
  })

期望的输出 -

上面的代码在UI上根据需要呈现文本框,但不捕获文本框中值更改时的事件。由于控件是动态的,我无法编写静态捕获事件的代码,因为控件名称将动态生成

答案

得到了https://gist.github.com/mine-cetinkaya-rundel/0fe2a9830f7151e72053239e73350592的答案

它具有适用于动态UI的示例应用程序

以上是关于R Shiny Dynamic选择输入 - 捕获事件的主要内容,如果未能解决你的问题,请参考以下文章

通过 R Shiny 中的先前输入限制输入的选项

R Shiny:修改选择后保留/保留反应输入的值

R Shiny pickerInput 选择所有文本

Selectizeinput 输入互斥 R Shiny

在我选择并删除一个条目之前,R Shiny 中的 selectizeInput() 不允许输入

根据 R Shiny 中的其他选择动态更新两个 selectInput 框