В этом случае забудьте о функции, просто наблюдайте за предупреждением с помощью наблюдающего события, так как к значениям обратного вызова можно получить доступ с помощью ввода $ sparkalert.
alert<-shinyalert(
title = "Warning",
text = "Some warning",
closeOnEsc = FALSE,
closeOnClickOutside = FALSE,
type = "warning",
showConfirmButton = TRUE,
showCancelButton = TRUE,
confirmButtonText = "OK",
cancelButtonText = "Cancel",
animation = TRUE,
callbackR = NULL
)
observeEvent(input$shinyalert,
value<<-input$shinyalert
)
Примечание: я назначил переменную значения как глобальную, убедитесь, что вы действительно присвоили ее.
Редактировать: Кажется, что это присваивает значение только когда приложение закрывается, так как ничегоостальное происходит на сервере.Чтобы восполнить это, я добавил кнопку для целей тестирования, поскольку при выполнении другой команды на сервере присваивается значение.
observeEvent(input$test,
print(value)
)
Редактировать: если мы хотим использовать значение в последующих выражениях w/ o прежде чем делать что-то еще на сервере, мы должны будем использовать функцию callbackR.
mycallback<-function(value){
if(value==T){
print(value) #commands
} else if (value==F){
print(value) #commands
}
}
Примечание. Этот пакет все еще относительно новый и содержит много ошибок, например, если вы попытаетесь объединить эти цепочкимодалы вместе, как утверждает автор пакета, этот пакет может делать, он не работает.
shinyalert(
title = "What is your name?", type = "input",
callbackR = function(value) { shinyalert(paste("Welcome", value)) }
)
Вот ссылка на описание авторов.https://deanattali.com/blog/shinyalert-package/
Как отмечалось здесь ... https://github.com/daattali/shinyalert/issues/14 Если вы установите самую последнюю версию с github, многие из этих ошибок будут исправлены.Глядя на обнаруженные ошибки, связанные с этим пакетом, мы не единственные, у кого есть эта проблема.