Найдено!
Важно иметь ui
в качестве функции с одним аргументом request
ui <- function(request) { fluidPage(....) }
и на сервере, имеющем onRestore()
с векторами, содержащими текущее состояние входов и затем подается как значение к update..Input()
library(shiny)
ui <- function(request){
fluidPage(
numericInput("Min", "Min",min = 0, max = 100, value = 42.5, step = 0.1),
numericInput("Max", "Max", min = 0.0, max = 100, value = 47.4, step = 0.1),
bookmarkButton()
)
}
server <- function(input, output, session) {
observeEvent(input$Max,{
req(input$Max, input$Min)
updateNumericInput(session,
"Min",
"Min",
value = input$Max - 0.1, min = 0.0, max = 100, step = 0.1)
})
onRestored(function(state) {
Min <- state$input$Min
Max <- state$input$Max
updateNumericInput(session, "Min", value = Min, min = 0.0, max = 100, step = 0.1)
updateNumericInput(session, "Max", value = Max, min = 0.0, max = 100, step = 0.1)
})
}
shinyApp(ui = ui, server = server, enableBookmarking = "url")