我正在尝试这样做,以便我的dateInput只接受dateInput下拉选项中的值而不接受其他值。例如,如果用户尝试不输入任何内容或删除日期,则返回“1995-11-13”。我的代码运行但是当没有任何内容被输入时,它仍然没有变为“1995-11-13”。我做错了什么?
shinyApp(
ui = fluidPage(
sidebarLayout(
h4("Date:"),
dateInput("date", label = h5("Date input"), value = "1995-11-13")
)
),
server = function(input, output, session){
observeEvent(
input$date,
if(is.null(input$date)){
updateDateInput(session, "date", value = "1995-11-13")
}
)
}
)
答案 0 :(得分:0)
你说"如果用户试图输入任何内容" ,那么输入不是NA
,而只是NULL
}。所以,我开始了。
我会改变代码:
if(is.na(input$date)){
updateDateInput(session, "date", value = "1995-11-13")
}
改为使用is.null()
:
if(is.null(input$date)){
updateDateInput(session, "date", value = "1995-11-13")
}
答案 1 :(得分:0)
library(shiny)
shinyApp(
ui = fluidPage(
sidebarLayout(
h4("Date:"),
dateInput("date", label = h5("Date input"), value = "1995-11-13")
)
),
server = function(input, output, session){
observeEvent(input$date,{
if(length(input$date) == 0){
updateDateInput(session, "date", value = "1995-11-13")
}
})
}
)