有2个日期输入:date1
和date2
。 date2
不应早于date1
。如何在UI中建立依赖关系?
我应该在min =
的{{1}}中写什么?
我已经尝试过:date2
,min = input$date1
,min = 'input$date1'
,min = 'input.date1'
,'min = 'input.date1''
,"min = 'input$date1'"
,但是它不起作用。
"min = 'input.date1'"
答案 0 :(得分:1)
不确定是否可以仅在UI
中实现此目的,但是可以在服务器逻辑中使用updateDateInput
来获得所需的行为:
library(shiny)
ui <- fluidPage(
dateInput("date1", "date 1"),
dateInput("date2", "date 2 = not be before date 1")
)
server <- function(input, output, session) {
observe({
req(input$date1)
## whenever input$date1 changes, change min of input$date2
updateDateInput(session, "date2", min = input$date1)
})
}
shinyApp(ui = ui, server = server)
答案 1 :(得分:1)
还可以使用observeEvent
library(shiny)
ui <- fluidPage(
dateInput("date1", "date 1"),
dateInput("date2", "date 2 = not be before date 1")
)
server <- function(input, output, session) {
observeEvent(input$date1,{
updateDateInput(session, "date2", min = input$date1 + 1,value = input$date1 + 1)
})
}
shinyApp(ui = ui, server = server)