如何避免因ShinyWidgets下拉列表和数据表崩溃

SeG*_*eGa 5 r shiny shinywidgets

我想显示一个电子表格,其中某些信息包含在shinyWidgets 下拉列表中,有时跨越多个页面。

如果单击下一页,则下拉菜单再次关闭。
如何避免这种情况?

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
  br(),br(),br(),
  p("How to go to the next page, without collapsing?"),
  uiOutput("irisdrop", inline = TRUE)
)

server <- function(input, output, session) {
  output$irisdrop <- renderUI({
    dropdown(circle = FALSE, inputId = "iris",
             label = "iris", status = "primary", 
             datatable(iris, rownames = NULL,
                       height = "100%",
                       selection = "none"
             )
    )
  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

Rus*_*tel 5

你可以做这样的事情 -

library(shiny)
library(shinyWidgets)
library(DT)


ui <- fluidPage(
  dropdownButton(
    inputId = "iris",
    label = "iris",
    icon = icon("sliders"),
    status = "primary",
    circle = FALSE,
    DT::dataTableOutput("iris_tb")
  )
)


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

  output$iris_tb <- DT::renderDataTable({

    datatable(iris, rownames = NULL,
              height = "100%",
              selection = "none"
    )

  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

注意:您甚至可以使用 from packagedropdown()来代替。dropdownButton()shinyWidgets

dropdown()类似,dropdownButton()但它不使用Bootstrap,所以你可以把pickerInput它放进去。此外,您可以使用 为下拉菜单的出现/消失添加动画animate.css

欲了解更多详情,您可以查看以下文档的第30页 -

https://cran.r-project.org/web/packages/shinyWidgets/shinyWidgets.pdf