如何在 shiny R 的 daterangeinput 中只选择星期一?
How to make only mondays selectable in daterangeinput in shiny R?
有没有办法模仿 dateInput 中的 daysofweekdisabled?
我希望人们 select 只有星期一。
遗憾的是,函数 dateRangeInput
没有 built-in 功能。但是,可以创建一个挂钩来评估给定输入是否有效,即开始日期和结束日期都在星期一:
library(shiny)
library(lubridate)
ui <- fluidPage(
dateRangeInput("daterange1", "Date range:",
start = "2001-01-01",
end = "2010-12-31"
),
textOutput("daterange1_valid")
)
server <- function(input, output, session) {
output$daterange1_valid <- renderText({
is_valid <- all(input$daterange1 %>% map_lgl(~ wday(.x, label = TRUE) == "Mon"))
ifelse(is_valid, "valid", "not valid. Start and end must be on a Monday!")
})
}
shinyApp(ui, server)
另一种方法是只使用两个 dateInput
元素。这将允许您在选择器中为星期一灰色以外的日子着色。
有没有办法模仿 dateInput 中的 daysofweekdisabled?
我希望人们 select 只有星期一。
遗憾的是,函数 dateRangeInput
没有 built-in 功能。但是,可以创建一个挂钩来评估给定输入是否有效,即开始日期和结束日期都在星期一:
library(shiny)
library(lubridate)
ui <- fluidPage(
dateRangeInput("daterange1", "Date range:",
start = "2001-01-01",
end = "2010-12-31"
),
textOutput("daterange1_valid")
)
server <- function(input, output, session) {
output$daterange1_valid <- renderText({
is_valid <- all(input$daterange1 %>% map_lgl(~ wday(.x, label = TRUE) == "Mon"))
ifelse(is_valid, "valid", "not valid. Start and end must be on a Monday!")
})
}
shinyApp(ui, server)
另一种方法是只使用两个 dateInput
元素。这将允许您在选择器中为星期一灰色以外的日子着色。