我想使用来自shinyWidgets的shinyWidgets。使用下面的代码,我可以在两个日期之间选择一个范围,但我不能选择与开始日期和结束日期相同的日期。在airDatepicker的文档中指出:
就我所理解的toggleSelected = FALSE而言,我可以选择与开始和结束相同的日期,对吗?
但是,如果我注释掉了toggleSelected,我就得到了错误
Error in shinyWidgets::airDatepickerInput("daterange", "Date range:", :
unused argument (toggleSelected = FALSE)不管toggleSelected是对还是错。
library(shiny)
ui <- fluidPage(
shinyWidgets::airDatepickerInput("daterange", "Date range:",
range = TRUE,
todayButton = TRUE,
# toggleSelected = FALSE,
value = c("2010-01-01", "2001-12-31")
),
verbatimTextOutput("res")
)
server <- function(input, output, session) {
output$res <- renderPrint({
paste("Start at", input$daterange[1], "and end at", input$daterange[2])
})
}
shinyApp(ui, server)如何防止错误和/或能够选择与开始和结束相同的日期?
发布于 2021-02-12 13:26:22
嗯。
我可以使用value=c("2010-01-01", "2010-01-01")运行您的代码,并得到一个与output$res中范围的开始和结束日期相同的范围。但是,似乎没有办法选择与开始和结束范围相同的日期,而是从一个跨越一天以上的范围开始。
如果我设置了range=FALSE,我可以在datepickerInput中选择一个日期,但由于明显的原因,不能扩展到一个范围。
当我将range设置为FALSE,然后取消注释toggleSelected=FALSE时,会得到您引用的错误。
乍一看,您似乎可以在范围模式中使用输入,并且范围至少可以跨越两天,或者在单一日期模式下运行,然后只选择一天。因此,您似乎需要一种编程方式来在两者之间切换。这当然是可能的,但它可能会使您有三个更吸引人的GUI :两个datepickerInputs,每个在单值模式下,以及一个标记为(例如)“允许范围”的复选框,并在未选中复选框时使用服务器函数中的一些逻辑来禁用/隐藏范围末尾的datepickerInput。
你的问题没有被问到的答案,但还是希望能有所帮助。
https://stackoverflow.com/questions/66172476
复制相似问题