r - 防止 dateInput 在 R Shiny 中为 NULL
问题描述
我试图让我的 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")
}
)
}
)
解决方案
您说“如果用户尝试不输入任何内容”,那不会使输入成为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")
}
推荐阅读
- python - 处理数据框列中的大量不同值
- php - 如果 Woocommerce 订单项具有特定的自定义元数据,则向电子邮件添加文本
- javascript - 将面积图上的刻度线与字符串 X 值对齐
- node.js - Node.js 解析记录集输出
- android - 使用 Android 设备管理 API 可以将密码限制为数字
- python-3.7 - 如何打印python记录器信息级别
- gradle - 来自根多项目的本地依赖项在 gradle 中构建
- lazarus - TRasterImage 变量的 FreeImage 和 FreeImage 之间的区别?
- django - 如何在django中获取字段的值
- python - 在python的except子句中将变量值设置为空字符串