我的UI有一个activeButton,每当用户按下它时,下面的watchEvent方法就会调用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中显示结果(“predicted”变量),但仅当predicted具有值时才显示。因此,必须隐藏该infoBox,直到用户第一次按下该按钮。

我应该在UI中输入哪种输出?
“预测”如何表现得像input $ value?

提前非常感谢您。

编辑

解决方案是在调用API时使用函数reactiveValues():
reactiveValues <- reactiveValues()
reactiveValues$predicted <- as.numeric(content(response))

然后,使用基于先前值的renderInfoBox()函数。

最佳答案

要通过上面的评论对此进行更新:

使用reactiveValues向其添加响应。
reactiveValues$predicted <- as.numeric(content(response))
然后将其绑定(bind)到infoBox

关于r - Shiny -在observeEvent中调用API之后更新UI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36905979/

10-11 08:58