En brillant, j'ai les éléments suivants:
output$sequenceText <- renderText({
showSequence()
})
showSequence <- reactive({
selectedSeqs <- as.numeric(input$sequenceSelect)
resultString <- ""
currentString <-""
for(i in selectedSeqs){
currentString <- paste(i, toString(myProts[i]), sep = ":")
resultString <- paste(resultString, currentString, sep = "\n")
}
return(resultString)
})
Cependant, il ne semble pas que le caractère de nouvelle ligne soit respecté. Comment puis-je résoudre ce problème?
Merci!
À ma connaissance, il n'y a que deux options pour afficher plusieurs lignes dans brillant. Une façon d’utiliser verbatimTextOutput
qui fournira une zone grise autour de votre texte (préférence personnelle). L'autre consiste à utiliser renderUI
et htmlOutput
à utiliser du code HTML brut. Voici un exemple de travail de base pour démontrer les résultats.
require(shiny)
runApp(
list(
ui = pageWithSidebar(
headerPanel("multi-line test"),
sidebarPanel(
p("Demo Page.")
),
mainPanel(
verbatimTextOutput("text"),
htmlOutput("text2")
)
),
server = function(input, output){
output$text <- renderText({
paste("hello", "world", sep="\n")
})
output$text2 <- renderUI({
HTML(paste("hello", "world", sep="<br/>"))
})
}
)
)
Cela donne le chiffre suivant:
Que diriez-vous
output$text2 <- renderUI({
HTML('hello <br> world')
})
C'est une approche différente qui est peut-être un peu plus simple.
ui <- fluidPage(
htmlOutput("text")
)
server <- function(input, output) {
output$text <- renderText({
paste0("<p>", letters[1:10], "</p>")
})
}
# Run the application
shinyApp(ui = ui, server = server)