【问题标题】:Text to be written must be a length-one character vector要写入的文本必须是长度为 1 的字符向量
【发布时间】:2019-10-29 13:09:51
【问题描述】:

安装新版闪亮(1.4.0)包后,我遇到一个奇怪的错误消息

> Warning: Error in writeImpl: Text to be written must be a length-one
> character vector   [No stack trace available]

我真的不明白发生了什么变化?以及如何解决这个问题?

任何想法将不胜感激!

Trace 如下所示:

13: execCallbacks(timeoutSecs, all, loop$id)
12: force(expr)
11: with_loop(loop, invisible(execCallbacks(timeoutSecs, all, loop$id)))
10: run_now(timeoutMs/1000, all = FALSE)
9: service(timeout)
8: serviceApp()
7: ..stacktracefloor..(serviceApp())
6: withCallingHandlers(expr, error = doCaptureStack)
5: domain$wrapSync(expr)
4: promises::with_promise_domain(createStackTracePromiseDomain(), 
       expr)
3: captureStackTraces({
       while (!.globals$stopped) {
           ..stacktracefloor..(serviceApp())
       }
   })
2: ..stacktraceoff..(captureStackTraces({
       while (!.globals$stopped) {
           ..stacktracefloor..(serviceApp())
       }
   }))
1: runApp("Projects/Bomboleo")

No traceback available 

【问题讨论】:

  • 此错误发生在htmltools::WSTextWriter 中(请参阅here 和 CTRL+F 以查找“writeImpl”)。当您在任何 UI 函数中显示原始文本时,此函数负责正确地将文本写入您的显示器。当writeImpl() 函数接收多个字符串(又名character() 向量的元素)时,它会引发上述错误。要更正此问题,请确保永远不要向 Shiny UI 函数提供两个字符串,该函数只要求一个字符参数。
  • 谢谢。参见github.com/rstudio/htmltools #147: WSTextWriter does not handle multiple character values。我做了tags$tr(HTML(paste0(myvar,collapse="")))
  • 我遇到了类似的问题。原来我有一个标准的 Shiny textInput 控件,其中有多个字符串作为默认 (value) 参数。
  • 类似问题:tags$div(class=c("a","b"),"a")。应该是tags$div(class="a b","a")

标签: r shiny htmltools


【解决方案1】:

我遇到了同样的问题,但是在尝试删除一些逗号后面的空格之后,它终于对我有用了!所以我的建议是重构你的代码,由于代码行末尾的一些空格,R 可能无法识别它

【讨论】:

    【解决方案2】:

    我的代码中有一行是 c("text/csv","text/comma-separated-values,text/plain",".csv") 它会产生同样的问题,因为它传递了三个文本参数。
    因此,我只是重写它看起来像 c(".csv"),现在它只传递一个文本!现在我的闪亮应用程序中不再有错误!

    此错误仅发生在 UI 部分。

    【讨论】:

      【解决方案3】:

      如果您像我一样使用 dataTable 在闪亮的应用程序中显示表格,我发现某些样式限定符与导致此错误的输出发生冲突。对我自己来说,一旦我从 dataTable 的样式选项中删除了“overflow-x:scroll”,一切都在应用程序中正常工作和呈现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 2021-10-12
        • 2019-12-19
        • 1970-01-01
        • 2018-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多