我的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/