renderText没有闪亮的工作

时间:2018-02-07 11:46:15

标签: r shiny

我有反应输出:

{{ textOutput("fatalError") }}

它生成标签:

<div id="fatalError" class="shiny-text-output shiny-bound-output"></div>

我有这样的代码:

.events$fatalError <- list(
   errorMessage = "Unknow Error",
   index = 0L
)
makeReactiveBinding("fatalError", env = .events)

我正在触发这样的事件:

fatalError <- function(errorMessage) {
  # the error is shown, the class fatal-error indicate that tag should be visible
  addClass(selector = "body", class = "fatal-error")
  .events$fatalError <- list(
    errorMessage = errorMessage,
    index = .events$fatalError$index + 1L
  )
}

但fatalError输出没有更新,我试过这个(在server.R中):

observeEvent(.events$fatalError, {
    # the message is printed to console
    print(.events$fatalError$errorMessage)
    output$fatalError <- renderText(.events$fatalError$errorMessage)
}, ignoreInit = TRUE)

还有这个:

output$fatalError <- renderText({
    .events$fatalError$errorMessage
})

但标记仍然为空,我还尝试在页面上显示output$fatalError并且结果相同时触发事件

1 个答案:

答案 0 :(得分:0)

发现问题,输出元素在渲染时无法隐藏,否则它将无法工作(它可能是优化“功能”),也许是因为addClass在下一行执行之前不等待类添加所以renderText没有可见的输出。

相关问题