Sleep Shiny WebApp 让它刷新......还有其他选择吗?

Sleep Shiny WebApp to let it refresh... Any alternative?

我有一个 WebApp,它有一些 renderUI({})...,其中一些依赖于另一个的输入。

这使得当我 select 某些选项时,网页中会出现一个红色错误。因为某些 renderUI({})if() 子句依赖于 selectizer 的输入。错误显示类似 "The length of the argument is 0" 的内容(因为 if() 取决于 TRUE/FALSE,但在那一刻它既不是 TRUE 也不是 FALSE)。大约一秒钟后,效果很好。

这可以通过第一个 if() 之后的 Sys.sleep() 来完成,但我不知道这是否是最佳选择。

谢谢。

编辑 - 可重现代码:

ui.R

radioButtons(
    inputId="select",
    label="Some selectizer",
    choices=list(
      "Yes",
      "No"
    ),
    selected="No",
    inline=TRUE
),

uiOutput("select1"),
uiOutput("option2")

server.R

output$select1 <- renderUI({
if (input$select == "No")
  return()

else radioButtons(
  inputId="select1",
  label="Some additional selector",
  choices=list(
    "Yes",
    "No"
  ),
  selected="No",
  inline=TRUE)
})

output$option2 <- renderUI({
  if (input$select == "Yes"){
    if (input$select1 == "Yes"){
      textInput("option2", "Some textInput: "), 
    }
    else return()
  }
})

一些可重现的代码可以让我给你一些示例代码,但在没有那个的情况下......

将您当前拥有的内容包装在另一个 if() 中,检查 length = 0(或只是 && 它,首先检查 NULL),然后显示您最喜欢的占位符消息.