我正在使用R版本3.6.2,并且在Shinyjs :: toggleState中使用dateInput时遇到错误。我的代码错误不会为其他输入数据类型生成。我觉得我在日期转换的某个阶段犯了错误。我尝试了几种其他方法,但仍然无法解决问题。非常感谢您为解决该问题提供的支持。下面是我尝试的UI和服务器代码片段。
尝试1
UI
shinyjs::useShinyjs(),
selectInput("player_names_output","Select Player",choices = c("Player 1","Player 2","Player 3")),
dateInput("session_date", "Training Date",value = as.Date(NA),format = "%d-%m-%Y"),
actionButton("submit_button","Submit"),
服务器
observe({
shinyjs::toggleState("submit_button", !is.null(input$player_names) && input$player_names != "" && !is.null(input$session_date) && input$session_date != "")
})
charToDate中的错误:字符串不是标准的明确格式
尝试2
UI
shinyjs::useShinyjs(),
selectInput("player_names_output","Select Player",choices = c("Player 1","Player 2","Player 3")),
dateInput("session_date", "Training Date",value = as.Date(NA),format = "%d-%m-%Y"),
actionButton("submit_button","Submit"),
服务器
observe({
shinyjs::toggleState("submit_button", !is.null(input$player_names) && input$player_names != "" &&
!is.null(as.Date(input$session_date,format = "%d-%m-%Y")) && as.Date(input$session_date,format = "%d-
%m-%Y") != "")
})
charToDate中的错误:字符串不是标准的明确格式
非常感谢您
不需要ui中的as.Date
,请将日期格式传递给format
的dateInput
参数。然后,将日期对象传递给value或传递给format
参数的格式相同的字符串。
在您的用户界面中尝试此操作:
shinyjs::useShinyjs(),
selectInput("player_names_output","Select Player",choices = c("Player 1","Player 2","Player 3")),
dateInput("session_date", "Training Date",value = Sys.Date(), format = "dd-mm-yyyy"), actionButton("submit_button","Submit")