Мой пользовательский интерфейс имеет активную кнопку, и всякий раз, когда пользователь нажимает на нее, следующий метод registerEvent вызывает API и возвращает числовое значение.Shiny - Обновление пользовательского интерфейса после вызова API внутри registerEvent
observeEvent(input$submit, {
url <- "http://my_ip/predict?"
value <- paste0('value=', input$value)
response <- POST(paste0(url,value))
predicted <- as.numeric(content(response))
})
Проблема заключается в том, что я хочу, чтобы показать результат («предсказал» переменную) в Infobox в пользовательском интерфейсе, но только тогда, когда предсказывал имеет значение. Поэтому этот infoBox должен быть скрыт до тех пор, пока пользователь не нажмет кнопку в первый раз.
Какой выход следует добавить в пользовательский интерфейс ?. Как «предсказано» вести себя как входное значение $.
спасибо, что заранее.
EDIT
Раствор с помощью функции reactiveValues()
при вызове API:
reactiveValues <- reactiveValues()
reactiveValues$predicted <- as.numeric(content(response))
И затем, используя функцию renderInfoBox()
на основе предыдущего значения.
Посмотрите [shinyjs] (https://github.com/daattali/shinyjs) - чтобы показать и скрыть элементы. – SymbolixAU
используйте 'reactiveValues', чтобы добавить к нему ответ. 'reactiveValues $ предсказал <- as.numeric (content (response))' затем привяжите его к 'infoBox'. http://www.inside-r.org/packages/cran/shiny/docs/reactiveValues –
Он работал с решением @PorkChop. Большое спасибо! –