r,闪亮,应用前弹出窗口

xmd2e60i  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(405)

我正在开发一个闪亮的应用程序,可以在启动时访问mysql服务器并从中提取大量数据。这些数据稍后会在应用程序的使用过程中被过滤。
由于传输的数据量相当大,第一次查询需要花费大量时间,因此我希望创建一个对话框/弹出窗口或类似的东西,在应用程序启动时打开,并允许用户选择“预筛选”设置,例如仅2017年3月的数据。
这有可能吗?如果有,怎么做?到目前为止我还没有找到任何关于它的信息。

vwoqyblh

vwoqyblh1#

这里有一个方法来实现你想要的。只需执行以下操作,就可以在启动时显示弹出窗口 showModal(modalDialog()) 在服务器功能中。有了这些知识,通过使用 reactiveVal 和一个 observeEvent .
我希望这有帮助!

library(shiny)
library(dplyr)

ui <- fluidPage(
      dataTableOutput('my_table'),
      actionButton('change','Change query')
)

server <- function(input,output,session)
{
  # the modal dialog where the user can enter the query details.
  query_modal <- modalDialog(
    title = "Important message",
    selectInput('input_query','Select # cyl:',unique(mtcars$cyl)),
    easyClose = F,
    footer = tagList(
      actionButton("run", "Run query")
    )
  )

  # Show the model on start up ...
  showModal(query_modal)

  # ... or when user wants to change query
  observeEvent(input$change,
               {
                 showModal(query_modal)
               })

  # reactiveVal to store the dataset
  my_dataset <- reactiveVal()

  observeEvent(input$run, {
    removeModal()

    # Your query here
    my_data <- mtcars %>% filter(cyl %in% input$input_query)
    my_dataset(my_data)

  })

  # render the output
  output$my_table <- renderDataTable(my_dataset())

}

shinyApp(ui,server)

相关问题