【发布时间】:2016-04-28 05:29:17
【问题描述】:
我的 UI 有一个 activeButton,每当用户按下它时,以下 observeEvent 方法都会调用 API 并返回一个数值。
observeEvent(input$submit, {
url <- "http://my_ip/predict?"
value <- paste0('value=', input$value)
response <- POST(paste0(url,value))
predicted <- as.numeric(content(response))
})
问题是我想在 UI 的 infoBox 中显示结果(“预测”变量),但只有在 predict 有值时。因此,在用户第一次按下按钮之前,必须隐藏该信息框。
我应该在 UI 中放置什么样的输出? “预测”如何表现得像 input$value?。
非常感谢您。
编辑
解决方案是在调用API时使用函数reactiveValues():
reactiveValues <- reactiveValues()
reactiveValues$predicted <- as.numeric(content(response))
然后,根据之前的值使用函数renderInfoBox()。
【问题讨论】:
-
查看shinyjs - 显示和隐藏元素。
-
使用
reactiveValues将响应添加到它。reactiveValues$predicted <- as.numeric(content(response))然后将其绑定到infoBox。 inside-r.org/packages/cran/shiny/docs/reactiveValues -
它与@PorkChop 解决方案一起使用。非常感谢!
-
请不要混淆读者,只接受相关答案