r闪亮动作按钮和数据表输出

时间:2017-10-02 07:20:05

标签: r shiny

一旦点击了一个操作按钮,我想在选择一些简单标准后输出数据表。

代码在没有操作按钮的情况下工作。只要我包含observeEvent函数,就不再生成结果。请参阅下面的示例代码。

注意:删除行observeEvent(input$gobutton,{和相应的})将生成正确的输出。

library(shiny)

ui <- fluidPage(
  fluidRow(column(6,div(checkboxGroupInput("test1", "Testing buttons", 
                                           choices=c("A","B","C"),
                                           selected=c("A","B","C"))))),

  hr(),

  actionButton("gobutton","Start"),

  dataTableOutput("summary_table")

)

server <- function(input,output){

  output$summary_table <- renderDataTable({

    observeEvent(input$gobutton,{

    df=data.frame(col1=input$test1,col2=seq(1,length(input$test1),1))

    df
    })
  })
}

shinyApp(ui=ui, server=server)

1 个答案:

答案 0 :(得分:3)

将其换成eventReactive代替:

library(shiny)

ui <- fluidPage(
  fluidRow(column(6,div(checkboxGroupInput("test1", "Testing buttons", 
                                           choices=c("A","B","C"),
                                           selected=c("A","B","C"))))),

  hr(),
  actionButton("gobutton","Start"),
  dataTableOutput("summary_table")

)

server <- function(input,output){

  data <- eventReactive(input$gobutton,{
    if(is.null(input$test1)){
      return()
    }

    df <- data.frame(col1=input$test1,col2=seq(1,length(input$test1),1))
    df
  })

  output$summary_table <- renderDataTable({
    data()
  })
}

shinyApp(ui=ui, server=server)