2016-09-08 3 views
0

Wie kann ich Wert nur im Browser anzeigen?glänzend R kann keinen Text von Vektor anzeigen

Unten ist mein Code.

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) 
     }) 
    }) 
} 

Im Folgenden sind die Ausgänge:

c('a','w','r','t') 
+0

erwartete Ausgabe auf Browser: a, w, r, t –

Antwort

0

Diese Sie

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 = ',') 
    }) 
    }) 
)) 
1

Während Geovany Antwort kann funktionieren, es ist keine gute Praxis zu verwenden observeEvent mit der globalen Zuweisungsoperator helfen könnte (<<-).

Wenn Sie möchten, dass eine Nebenwirkung auszuführen (zum Beispiel eine Datei zu schreiben, Plotten, Drucken), dann können Sie observe oder observeEvent verwenden, aber wenn Sie einen Rückgabewert verwenden möchten, verwenden Sie eventReactive statt.

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 Anruf von der Serverseite wie eine Funktion: cab()