为 DT 输出渲染文本输入时出现 R 闪亮错误

Posted

技术标签:

【中文标题】为 DT 输出渲染文本输入时出现 R 闪亮错误【英文标题】:R shiny error while rendering textinput for DT output 【发布时间】:2020-06-12 09:52:02 【问题描述】:

在我闪亮的应用程序中为 DT 渲染文本输入时,我遇到了一些非常奇怪的问题。 textinput 存储一些值,用作应用程序的设置之一。这些设置存储在响应式列表中,其中一个列表成员是 data.table - 存储所有渲染设置。

我做了一个可重现的例子,而不是代码 sn-ps。不漂亮,但它说明了。

library(shiny)

rv = reactiveValues()


ui <- shinyUI(fluidPage(

      textInput(inputId = "textinput", label = h3("Numeric input"), value = "some value"),
      tags$hr(),
      fluidRow(column(3, verbatimTextOutput("textinput"))),
      tags$hr(),
      tabPanel("Settings table for viewing", dataTableOutput('settings_table')),

))

server <- function(input, output, session) 
  observe(

    # lst_names = list()
    # lst_values = list()


    rv$textinput <-  renderText( input$textinput )
    output$textinput <- renderText( input$textinput ) # this is displayed nicely

    # lst_names = c(lst_names, "rv$textinput") 
    # lst_values = c(lst_values, rv$textinput)        


    rv$settings = data.table(Var_names = "rv$textinput", Var_values = rv$textinput)

    )

  output$settings_table = DT::renderDataTable(options = list(pageLength = 50), 
    rv$settings
  )


shinyApp(ui, server)

我在 DT 的 github 中找到了这段文字,但我无法找到让它工作的方法。 与 numericinput、rendertext、renderprint、将 rendertext/print 移出“观察”块相同的问题。

有什么建议吗?

【问题讨论】:

用reproducible example帮助你会更容易 为什么"rv$textinput" 在引号中? @bretauv:已添加。 Pork Chop:它是设置的名称,旁边有值。 【参考方案1】:

你没有使用好的dataTableOutput。您必须使用 DT::dataTableOutput 或等价的 DT::DTOutput

library(shiny)
library(DT)

ui <- fluidPage(

  textInput(inputId = "textinput", label = h3("Numeric input"), 
            value = "some value"),
  tags$hr(),
  fluidRow(column(3, verbatimTextOutput("textinput"))),
  tags$hr(),
  tabPanel("Settings table for viewing", DTOutput('settings_table')),

)

server <- function(input, output, session) 

  output$textinput <- renderText( input$textinput ) 

  rv <- reactiveValues()

  observe(

    rv$textinput <- input$textinput

    rv$settings <- data.frame(
      Var_names = "rv$textinput", 
      Var_values = rv$textinput
    )

  )

  output$settings_table <- renderDT(options = list(pageLength = 50), 
    rv$settings
  )



shinyApp(ui, server)

【讨论】:

以上是关于为 DT 输出渲染文本输入时出现 R 闪亮错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 R 脚本渲染闪亮的 flexdashboard 时找不到错误对象输出

r - 空文本输入()导致传单闪亮应用程序中的错误

输入搜索栏文本框时出现 UISearchBar 错误

用于多输入模型的 R Keras predict_prob 不起作用。我可以成功地训练模型,但是在评分时出现错误

来自文本输入的表格中的R闪亮多行行

为啥在尝试使用 python PIL 将 WMF 转换为 PNG 时出现渲染错误?