Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R DT::Datatable在一个闪亮的应用程序中显示两次_R_Datatable_Shiny_Dt - Fatal编程技术网

R DT::Datatable在一个闪亮的应用程序中显示两次

R DT::Datatable在一个闪亮的应用程序中显示两次,r,datatable,shiny,dt,R,Datatable,Shiny,Dt,我有一个闪亮的应用程序,当用户从侧边栏的radioButtons菜单中选择扇区a时,将显示一个dataTable。问题是它会显示两次。我也在浏览器模式下检查了它。为什么会发生这种情况我在这里显示整个应用程序,因为它可能是由应用程序的if逻辑引起的。可渲染的工作很好,所以我想DT存在问题 看起来Renderable也做了同样的事情。出于某种原因,renderDataTable{mtcars}的输出会显示两次,第一次是通过uiOutput,第二次是通过dataTableOutput,两者都在主面板中

我有一个闪亮的应用程序,当用户从侧边栏的radioButtons菜单中选择扇区a时,将显示一个dataTable。问题是它会显示两次。我也在浏览器模式下检查了它。为什么会发生这种情况我在这里显示整个应用程序,因为它可能是由应用程序的if逻辑引起的。可渲染的工作很好,所以我想DT存在问题

看起来Renderable也做了同样的事情。出于某种原因,renderDataTable{mtcars}的输出会显示两次,第一次是通过uiOutput,第二次是通过dataTableOutput,两者都在主面板中。注释dataTableOutputtable行修复了该行为,因为它只显示一次表。有趣的是,这样删除赋值:

else if(input$radio==3){
      tabsetPanel(
        id="tabC",
        type = "tabs",
        tabPanel("Constituents",
                 renderDataTable({
                   mtcars
                 })
        ),
        tabPanel("Clusters" ),
        tabPanel("Index")
      )
    }
也会呈现一次表。因此,在renderUI中,renderDataTable看起来只是创建输出,而不需要UI中的dataTableOutput

else if(input$radio==3){
      tabsetPanel(
        id="tabC",
        type = "tabs",
        tabPanel("Constituents",
                 renderDataTable({
                   mtcars
                 })
        ),
        tabPanel("Clusters" ),
        tabPanel("Index")
      )
    }
    else if(input$radio==4){
      tabsetPanel(
        id="tabD",
        type = "tabs",
        tabPanel("Constituents",
                 renderDataTable({
                   iris
                 })
        ),
        tabPanel("Clusters" ),
        tabPanel("Index")
      ) 
    }
这似乎允许更好或更坏的情况,在不同的选项卡中轻松呈现不同的表,而在UI中没有相应的输出条目

else if(input$radio==3){
      tabsetPanel(
        id="tabC",
        type = "tabs",
        tabPanel("Constituents",
                 renderDataTable({
                   mtcars
                 })
        ),
        tabPanel("Clusters" ),
        tabPanel("Index")
      )
    }
    else if(input$radio==4){
      tabsetPanel(
        id="tabD",
        type = "tabs",
        tabPanel("Constituents",
                 renderDataTable({
                   iris
                 })
        ),
        tabPanel("Clusters" ),
        tabPanel("Index")
      ) 
    }