Почему RShiny блестящий (обратный вызов) не рендеринг? - PullRequest
0 голосов
/ 12 марта 2019

Я использую пример из пакета Дина shinyalert:

library(shiny)
library(shinyalert)

shinyApp(
ui = fluidPage(
useShinyalert(),  # Set up shinyalert
actionButton("btn", "Greet")
     ),

server = function(input, output) {

observeEvent(input$btn, {
  shinyalert(
    "Enter your name", type = "input",
    callbackR = function(x) { message("Hello ", x) },
    callbackJS = "function(x) { alert('Hello ' + x); }"
  )
})
 }
 )

pic2 pic3

Для некоторыхпричина, пример, показанный на github, не работает на моем.И когда я удаляю обратный вызов JS.Ничего не произошло.Я ввожу имя и нажимаю «Ок», но модальная цепочка не работает.

chainmodal

Есть идеи?

1 Ответ

1 голос
/ 12 марта 2019

Я думаю, что вы должны использовать:

    callbackR = function(value) { shinyalert(paste("Welcome", value))}

Это также может быть то, что показано в документе: https://github.com/daattali/shinyalert#chaining.

Ваш код message("Hello ", x) на самом деле работает так, как задумано, поскольку выводит сообщение на консоль.

Полный код будет выглядеть так:

library(shiny)
library(shinyalert)

shinyApp(
  ui = fluidPage(
    useShinyalert(),  # Set up shinyalert
    actionButton("btn", "Greet")
  ),

  server = function(input, output) {

    observeEvent(input$btn, {
      shinyalert(
        "Enter your name", type = "input",
        callbackR = function(value) { shinyalert(paste("Welcome", value))},
        callbackJS = "function(x) { alert('Hello ' + x); }"
      )
    })
  }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...