R闪亮-使输入响应页面上的其他输入,但主功能响应提交按钮

R闪亮-使输入响应页面上的其他输入,但主功能响应提交按钮,r,shiny,R,Shiny,我有一个闪亮的应用程序,用户可以选择两个日期范围,还有一个提交按钮 第一个日期范围用于分析期间,而第二个日期范围应在第一个日期范围内 我使用的是dateRangeInput,我想将第二个dateRangeInput的最小和最大日期设置为用户从第一个dateRangeInput选择的时间段。我现在的问题是,按照我现在的设置方式,第二个dateRangeInput在用户点击提交之前不会刷新,而我希望它在第一个dateRangeInput更改后立即刷新。 我如何做到这一点 到目前为止,我的代码如下所示

我有一个闪亮的应用程序,用户可以选择两个日期范围,还有一个提交按钮 第一个日期范围用于分析期间,而第二个日期范围应在第一个日期范围内

我使用的是dateRangeInput,我想将第二个dateRangeInput的最小和最大日期设置为用户从第一个dateRangeInput选择的时间段。我现在的问题是,按照我现在的设置方式,第二个dateRangeInput在用户点击提交之前不会刷新,而我希望它在第一个dateRangeInput更改后立即刷新。

我如何做到这一点

到目前为止,我的代码如下所示:

#ui.R
shinyUI(fluidPage(
    sidebarLayout(
      sidebarPanel(
        dateRangeInput('inputDate', 'Select date range for analysis period', start = '2015-07-01', end = '2015-07-03', min = min_date, max = max_date),
    #the output below is refreshing only when the user hits submit, but I would like it to refresh as soon as the first dateRangeInput changes.
    uiOutput('return_dates'),
    submitButton("Submit")
  ),
      mainPanel()
)))

#server.R
shinyServer(function(input, output, session) {
  ret_min <- reactive({
    input$inputDate[1]
  })

  ret_max <- reactive({
    input$inputDate[2]
  })
  output$return_dates <- renderUI({
      dateRangeInput('inputDate2', 'Select date range for return period', start = '2015-07-01', end = '2015-07-02', min = ret_min(), max = ret_max())
    })
  analysisFunction <- reactive({
      #code here performs analysis based on the given date range, and should run only when the user hits submit
    })
})
#ui.R
shinyUI(fluidPage)(
侧边栏布局(
侧栏面板(
dateRangeInput('inputDate','Select date range for analysis period',start='2015-07-01',end='2015-07-03',min=min\u date,max=max\u date),
#下面的输出仅在用户点击submit时刷新,但我希望它在第一个dateRangeInput更改时立即刷新。
uiOutput(“返回日期”),
提交按钮(“提交”)
),
主面板()
)))
#服务器.R
shinyServer(功能(输入、输出、会话){

ret_min我找到了一个解决方案,那就是使用actionButton而不是submitButton,它允许我指定哪些函数只有在点击action按钮时才应作出反应,而其余函数将在输入更改时立即作出反应

#ui.R
shinyUI(fluidPage(
    sidebarLayout(
      sidebarPanel(
        dateRangeInput('inputDate', 'Select date range for analysis period', start = '2015-07-01', end = '2015-07-03', min = min_date, max = max_date),
    uiOutput('return_dates'),
    actionButton("submitButton","Submit")
  ),
      mainPanel()
)))

#server.R
shinyServer(function(input, output, session) {
  ret_min <- reactive({
    input$inputDate[1]
  })

  ret_max <- reactive({
    input$inputDate[2]
  })
  output$return_dates <- renderUI({
      dateRangeInput('inputDate2', 'Select date range for return period', start = '2015-07-01', end = '2015-07-02', min = ret_min(), max = ret_max())
    })
  analysisFunction <- reactiveEvent({input$submitButton, {
    #code here will only run when user hits submit
    }) 


})
#ui.R
shinyUI(fluidPage)(
侧边栏布局(
侧栏面板(
dateRangeInput('inputDate','Select date range for analysis period',start='2015-07-01',end='2015-07-03',min=min\u date,max=max\u date),
uiOutput(“返回日期”),
操作按钮(“提交按钮”、“提交”)
),
主面板()
)))
#服务器.R
shinyServer(功能(输入、输出、会话){
瑞敏