一旦点击了一个操作按钮,我想在选择一些简单标准后输出数据表。
代码在没有操作按钮的情况下工作。只要我包含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)
答案 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)