首页 > 解决方案 > 如何修复闪亮和 DT 中的错误消息“必须有长度”

问题描述

我正在开发一个包含传单地图和 DT 数据表的应用程序。我将两者都设置为在地图和表格中都有初始数据,然后如果选择了下拉列表或数据范围中的特定用户名,则进行更新。

该地图是人口罚款。但是,当应用程序正在加载时,我收到一条错误消息,显示为鲜红色,这表明数据表数据存在问题......但随后数据确实加载了(我假设在反应组件完成加载后.

我很想让这个恼人的红色错误消失,你能帮忙吗

    output$customer_table <- renderDT({ customer_data%>%
    select(Customer, Associate, Date, Travel)%>%
        datatable( extensions = 'Buttons', 
                   options = list(
                       dom = 'Bfrtip',
                       pageLength = 35,
                       buttons = c('copy', 'csv', 'excel', 'pdf', 'print')),
                   colnames = c('Customer', 'Associate', 'Date', 'Travel'))})

这具有初始未过滤数据,如错误消息中建议的那样长 269 行。我使用以下反应组件(它从日期输入中提取日期,并且它们会正确输入,因为一旦表格最终绘制,它会根据选择器进行适当调整)。开始和结束日期描述为input$date[1] & Date < input$date[2]

    newData <- reactive({
    all = unique(map_data$associate)
    map_data <- map_data%>%
        filter(Date > input$date[1] & Date < input$date[2])%>%
        filter(
            if (input$associate == "All") {
                Associate %in% all
            } else {
                Associate==input$associate
            }
        ) 

})

然后将此数据传递到反应表中以输出到应用程序,其中包含以下内容:

    output$customer_table <- renderDT({ newData()%>%
        select(Customer, Associate, Date, Travel)%>%datatable( extensions = 'Buttons',
                                                       options = list(
                                                           dom = 'Bfrtip',
                                                           pageLength = 35,
                                                           buttons = c('copy', 'csv', 'excel', 'pdf', 'print')),
                                                       colnames = c('Customer', 'Associate', 'Date', 'Travel'))})

这是地图启动时我收到的几秒钟的消息,但表格尚未呈现在此处输入图像描述

我对最终的布局并不感到不安,它看起来不错,但是初始加载期间的这个错误消息很可怕,我想让它消失。如果我管理表数据的方式存在潜在缺陷,我很想知道如何修复它。谢谢你的帮助

标签: rshinyreactivedt

解决方案


推荐阅读