在renderText({})

时间:2019-08-26 17:14:42

标签: shiny

我有一个表,可以从同一列但从不同的行中获取一个值,我希望在 verbatimTextOutput 中显示每个值,而不必每次都覆盖。

我尝试这样做,但是出现错误:

library(shiny)
library(DT)

ui <- fluidPage(
  DT::dataTableOutput("table"),   
  verbatimTextOutput("output", placeholder = TRUE)
)

server <- function(input, output) {

  val <- reactiveVal(as.character(dt[input$table_rows_selected, 2]))
  o <- reactiveVal(NULL)

  observeEvent(input$table_rows_selected, {
    o(c(o(), "\n", "You chose :", val()))
    output$output <- renderText({ o() })
  })

  dt <- data.frame("a" = paste("a", 1:10), "b" = paste("b", 1:10))
  output$table <- DT::renderDataTable({
    DT::datatable(dt, selection = list(target = 'row'))
  })
}

shinyApp(ui = ui, server = server)


Error in .getReactiveEnvironment()$currentContext() : 
  Operation not allowed without an active reactive context. (You tried to do something that can only be done from inside a reactive expression or observer.)

0 个答案:

没有答案