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