即使在 R shiny app 中没有加载文件时,也观察文件输入按钮点击

问题描述 投票:0回答:0

我有一个简短而看似幼稚的问题:

如何检测

fileInput
按钮是否被点击,即使没有选择文件?

事实上,我想在单击

observeEvent
按钮时在
fileInput
中做一些事情,即使没有加载文件(我跳过细节,它是更大应用程序的一部分)。这听起来很简单,但是使用我尝试过的代码片段,我无法实现它,因为
observeEvent
总是只有在模式窗口中实际选择文件时才会触发。

可能有一种 javascript 方法来检测按钮点击或模式窗口的关闭(但我不知道 js ...)?

如果有人能提供帮助,我将非常非常非常感谢!

library(shiny)
runApp(shinyApp(
  ui=(fluidPage(
    titlePanel("TEST"),
    mainPanel(
      fileInput("file", "Upload file")
    )
  )),
  server = (function(input, output) {
    observeEvent(input$file, {
      ### something to do when button clicked - even if no file loaded
      cat(paste0("clicked\n"))  ### this is printed only if file loaded !!!
    })

  })))
javascript r shiny shinyjs
© www.soinside.com 2019 - 2024. All rights reserved.