【发布时间】:2020-07-12 18:09:08
【问题描述】:
我有一个简单的应用程序,它使用动态 UI 元素 updateDateInput,以确保用户只能选择指定年份的日期。所选日期应始终默认为所选年份的第一天。
library(shiny)
library(tidyverse)
library(lubridate)
ui <- fluidPage(
selectInput("year", "Select Year:",
choices = 2010:2020, selected = 2015),
dateInput("date", "Select Date:", value = NULL)
)
server <- function(input, output, session) {
observeEvent(input$year,
updateDateInput(session, "date",
min = ymd(paste(input$year, "01-01", sep = "-")),
max = ymd(paste(input$year, "12-31", sep = "-")),
value = ymd(paste(input$year, "01-01", sep = "-"))))
}
shinyApp(ui, server)
将所选年份向后移动(例如 2015 - 2014 年)时,所选日期会自动更新为该月的第一天。但是,当用户将日期向前移动时,从 2015 年到 2016 年,选定的日期默认为 null,用户需要手动搜索才能获得当年的日期。
谁能帮我弄清楚为什么会这样?
【问题讨论】: