【问题标题】:Prevent dateInput from being NULL in R Shiny防止 dateInput 在 R Shiny 中为 NULL
【发布时间】:2018-04-27 17:26:50
【问题描述】:

我正在努力使我的 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")
      }
    )
  }
)

【问题讨论】:

    标签: r shiny


    【解决方案1】:
    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")
          }
        })
      }
    )
    

    【讨论】:

      【解决方案2】:

      您说“如果用户尝试输入任何内容”,这不会使输入成为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")
        }
      

      【讨论】:

        猜你喜欢
        • 2019-06-29
        • 2021-06-26
        • 2015-07-27
        • 2021-01-20
        • 2021-01-25
        • 2019-11-24
        • 1970-01-01
        • 2021-05-27
        • 2020-08-03
        相关资源
        最近更新 更多