【问题标题】:dateInput in Shiny does not work with spinnerShiny 中的 dateInput 不适用于微调器
【发布时间】:2021-07-23 10:52:50
【问题描述】:

我正在构建一个包含许多图表的应用程序,并在等待它们生成时使用微调器。 我发现如果我在图表中添加微调器,我的日期输入不再有效。 我不明白这种行为,也不知道如何解决它。

Here is my example:

library(data.table)
library(tidyverse)
library(shinydashboard)
library(highcharter)
library(lubridate)
library(shiny)
library(shinyWidgets)
library(shinycssloaders)

db <- mtcars

sidebar <- dashboardSidebar()
body <- dashboardBody(
   h2("Test"),
   box(title = "Date",width =12,
       column(dateInput('startdate','',value = dmy("1/1/2017"), min = NULL, max = NULL,
       format = "yyyy-mm-dd", startview = "month", weekstart = 0,language = "en", width = NULL),width = 3)
   ),
   highchartOutput("hc")%>%withSpinner()
)  
header <- dashboardHeader()
ui <- dashboardPage(header,sidebar,body)

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

  output$hc <- renderHighchart({
    hc <- highchart() %>%
      hc_add_series(name = "mpg", data = db$mpg) %>%
      hc_add_series(name = "wt", data = db$wt)
    hc
  })

}

shinyApp(ui, server)

如果我要删除withSpinner(),那么我可以选择日期。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    我和那些纺纱厂的关系又爱又恨。无论如何:将您的图表放在一个流式(和列)中为我解决了这个问题:

    library(data.table)
    library(tidyverse)
    library(shinydashboard)
    library(highcharter)
    library(lubridate)
    library(shiny)
    library(shinyWidgets)
    library(shinycssloaders)
    
    db <- mtcars
    
    sidebar <- dashboardSidebar()
    
    body <- dashboardBody(
        h2("Test"),
        box(title = "Date",width =12,
            column(dateInput('startdate','',value = dmy("1/1/2017"), min = NULL, max = NULL,
                             format = "yyyy-mm-dd", startview = "month", weekstart = 0,language = "en", width = NULL),width = 3)
        ),
        
        fluidRow(
            column(
                width = 12,
                shinycssloaders::withSpinner(highchartOutput("hc"))
            )
        )
    
    )
    
    header <- dashboardHeader()
    ui <- dashboardPage(header,sidebar,body)
    
    server <- function(input, output, session) {
        
        output$hc <- renderHighchart({
            hc <- highchart() %>%
                hc_add_series(name = "mpg", data = db$mpg) %>%
                hc_add_series(name = "wt", data = db$wt)
            hc
        })
        
    }
    
    shinyApp(ui, server)
    

    这可能表明它还奇怪地应用于您页面的其他方面,而不仅仅是您的图表?

    【讨论】:

    • 您的解决方案适合我。虽然我不确定它是否适用于我的图表以外的任何其他东西。仍然很好奇这是否是一个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多