闪亮的R无法显示矢量文本

时间:2016-09-08 01:24:54

标签: r shiny

如何仅在浏览器上显示值?

以下是我的代码。

 if (cmp < 0) t = t.left;
else if (cmp > 0) t = t.right; 

以下是产出:

ui <- shinyUI(bootstrapPage(
  absolutePanel(
   textOutput("renderText1")
  )
 )
)

server <- function(input,output,session)
{
  observeEvent(input$dropdown, {
     query <-  sprintf("select ....",input$dropdown)
      cabinet_info <- dbGetQuery(con,query)
      output$renderText1 <- renderText({
        paste(cabinet_info)
      })
   })
}

2 个答案:

答案 0 :(得分:1)

虽然Geovany的答案可能有效,但将observeEvent与全局赋值运算符(<<-)一起使用并不是一个好习惯。

如果您想执行副作用(例如,编写文件,绘图,打印),则可以使用observeobserveEvent,但如果您想使用返回值,请使用而是eventReactive

ui <- shinyUI(bootstrapPage(
  absolutePanel(
    selectInput("dropdown", label = 'SelectInput', choices = c('A', 'B')),
    textOutput("renderText1")
  )
)
)

server <- function(input,output,session)
{
  cab <- eventReactive(input$dropdown, {
    query <-  sprintf("select ....",input$dropdown)
    #cabinet_info <- dbGetQuery(con,query)  #Replaced by a constant
    cabinet_info <- paste(c(input$dropdown, 'a','w','r','t'), sep=",")
  })

  output$renderText1 <- renderText({
    cab()
  })
}

shinyApp(ui, server)

从服务器端调用eventReactive就像一个函数:cab()

答案 1 :(得分:0)

这可以帮到你

runApp(list(
  ui = shinyUI(bootstrapPage(
    absolutePanel(
     actionButton("dropdown", "dropdown"),
     textOutput("renderText1")
    )
   )
  ),
  server = shinyServer(function(input, output) {
    cabinet_info <- NULL
    observeEvent(input$dropdown, {
        cabinet_info <<- c('a','w','r','t')
     })

    output$renderText1 <- renderText({
      input$dropdown
      paste(cabinet_info, collapse = ',')
    })
  })
))