【问题标题】:Shiny - Updating UI after API call inside observeEventShiny - 在 observeEvent 中调用 API 后更新 UI
【发布时间】: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 &lt;- as.numeric(content(response)) 然后将其绑定到infoBoxinside-r.org/packages/cran/shiny/docs/reactiveValues
  • 它与@PorkChop 解决方案一起使用。非常感谢!
  • 请不要混淆读者,只接受相关答案

标签: r api shiny


【解决方案1】:

从上面的 cmets 更新这个:

使用reactiveValues 将响应添加到它。

reactiveValues$predicted &lt;- as.numeric(content(response))

然后将其绑定到infoBox

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-10
    • 2021-02-13
    • 2021-12-26
    • 1970-01-01
    • 2017-11-06
    • 2022-01-19
    • 2021-08-01
    • 2021-12-21
    相关资源
    最近更新 更多