如何将 shinyalert 输入字段捕获为变量

How to capture shinyalert input field as variable

我正在尝试使用相对较新的 shinyAlert 包来查看它是否提供比 sweetalert 包更好的结果,但我无法弄清楚如何获得它:

Myvar <-  shinyalert input text 

来自这个最小的例子。

library(shiny)
library(shinyjs)
library(shinyalert)

ui <- fluidPage(
  shinyjs::useShinyjs(),
  useShinyalert(),
     actionButton("run", "Run", class = "btn-success")
)
server <- function(input, output, session) {
  shinyEnv <- environment()

  observeEvent(input$run, {

    shinyalert('hello', type='input')
  })
}
shinyApp(ui = ui, server = server)

感谢各位天才的帮助。

我没有使用 shinyalert 包的经验,但是您可以使用 shiny 中广泛使用且有据可查的模式对话框来实现您想要的。也许您有理由坚持使用我不知道的 shinyalert,但如果没有,请使用模态对话框实现您想要的示例代码:

ui <- fluidPage(
  shinyjs::useShinyjs(),
  actionButton("run", "Run", class = "btn-success"),
  textOutput("output1")
)
server <- function(input, output, session) {

  dataModal <- function(failed = FALSE) {
    modalDialog(
      textInput("input1", "Enter text:",
                placeholder = 'Enter text here'
      )
    )
  }

  # Show modal when button is clicked.
  observeEvent(input$run, {
    showModal(dataModal())
  })

  output$output1 <- renderText({
    input$input1
  })
}
shinyApp(ui = ui, server = server)

如果有帮助请告诉我!

操作方法如下:

library(shiny)
library(shinyalert)

ui <- fluidPage(
  useShinyalert(),
  actionButton("run", "Run", class = "btn-success")
)
server <- function(input, output, session) {

  observeEvent(input$run, {
    shinyalert('hello', type='input', callbackR = mycallback)
  })

  mycallback <- function(value) {
    cat(value)
  }
}
shinyApp(ui = ui, server = server)

它是使用回调完成的。如果愿意,您可以将值分配给反应变量。

上个月我已经完整地记录了这个包并准备发布它,然后我的电脑在我有机会推送到 github 之前崩溃了,并且失去了所有的进步。我没有机会再做一遍。很抱歉,文档还不是很好,该软件包仍未发布,所以现在使用需要您自担风险:)

(注意你不需要 shinyjs)