在操作按钮上单击

时间:2016-11-28 02:52:59

标签: r shiny

创建了一个应用程序,其中我想从用户&中获取sliderInput和selectInput。点击动作按钮时显示它。最初我们运行应用程序代码时工作正常,但是当我们更改sliderInput&中的值时selectInput输出自动显示,无需单击按钮。

shinyUI(fluidPage(

  # Application title

titlePanel("Old Faithful Geyser Data"),

  # Sidebar

  sidebarLayout(

sidebarPanel(
      sliderInput("tm", "select the interval", min = 0, max = 20,value = 10),
      selectInput("samples", label = "Select the sample type", c("Sample A","Sample B","Sample C")),
      actionButton("act", label = " Update" )
      ),


    mainPanel(
      textOutput("val"),
      br(),
      textOutput("sam")
    )
  )
))

shinyServer(function(input, output) {

  observe(
    if(input$act>0){
  output$val <- renderText(
    paste("You selected the value" ,input$tm)
    )

  output$sam <- renderText(input$samples)

    }
   )
})

我想仅在点击操作按钮时更改值。

1 个答案:

答案 0 :(得分:1)

您可以将输出值设为observe

,而不是eventReactive

这是服务器端代码(因为ui方面不需要更改)。

shinyServer(function(input, output) {

  val = eventReactive(input$act, {
    paste("You selected the value" ,input$tm)
  })

  sam = eventReactive(input$act, {
    input$samples
  })

  output$val = renderText( 
    val()
    )
  output$sam = renderText(
    sam()
  )
})