【问题标题】:Keep current month selected in shinyWidgets::airMonthinputPicker()在 shinyWidgets::airMonthinputPicker() 中选择当前月份
【发布时间】:2020-04-22 03:13:23
【问题描述】:

我正在使用 shinyWidgets 包中的 airMonthpickerInput() 函数。对于我的特定应用程序,起始值(月份)是 2019 年 2 月(如 value = as.Date("2019-02-01") 中定义的那样。根据以下代码,这将正确显示:

library(shiny)
library(shinydashboard)
library(shinyWidgets)

ui <- dashboardPage(
  dashboardHeader(title = "Basic dashboard"),
  dashboardSidebar(),
  dashboardBody(

             airMonthpickerInput(inputId = "select_month", label = "Select Month", value = as.Date("2019-02-01")), multiple = FALSE, autoClose = TRUE)

  )
)
)

server <- function(input, output) {


}

app<-shinyApp(ui = ui, server = server)
runApp(app, host="0.0.0.0",port=5050, launch.browser = TRUE)

但是,当您尝试更改月份时,生成的弹出窗口默认显示当前月份(在撰写本文时,2020 年 1 月)。应用程序的大部分数据来自 2019 年(正如您所期望的那样,一年已经结束),因此用户必须单击月份选择器,然后单击左箭头以显示 2019 年的月份,然后选择 2019 年内所需的月份。

我想消除这种摩擦(过多的按钮点击),以便在点击月份选择器时,2019 年 2 月仍然突出显示(即显示 2019,而不是 2020)。是否有可能做到这一点?我检查了函数的参数,但看不到任何明显的东西可以让我在尝试更改月份时显示 2019。

【问题讨论】:

  • 这是一个错误,请打开一个问题:github.com/dreamRs/shinyWidgets
  • 同意维克多。可能对其他人有所帮助的一点 - 从您的问题来看,您的数据听起来像是在进行中,但如果您的所有数据实际上都在 2019 年,您可以使用 minDatemaxDate 参数。
  • 我确定这是一个错误,那是我的包???? ;p
  • 不幸的是,并非所有数据都在 2019 年。现在我们已经到了 2020 年,今年的数据将开始滚动。我需要始终使用“不完整”数据(在我的数据集中)显示第一个月。在此示例中,我将输入硬编码为 2019 年 2 月,但在生产中,随着更多数据从去年添加到系统中并且月份“完成/签署”,月份将动态变化。
  • 我看到两个选项,我在问题线程中解释

标签: r shiny shinywidgets


【解决方案1】:

原来shinyWidgets::airiMonthinputPicker() 中有一个错误。 @Victorp 的一个非常快速的错误修复解决了这个问题。如果其他人目前遇到此问题,请从 Github 重新安装 shinyWidgets。完整的细节可以在这里找到:https://github.com/dreamRs/shinyWidgets/issues/248

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2020-07-21
    • 2015-09-28
    • 2021-12-27
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多