Я хочу распечатать содержимое writeLines новыми строками, но не могу этого сделать в своем приложении Shiny. Соответствующий код сервера прилагается. Текст в поле выходит так, как если бы он был объединен, а не в новых строках. Кто-нибудь может мне помочь?
Обновленный воспроизводимый пример
shinyUI(dashboardPage( skin = "black",
dashboardHeader(title = "Fruits",titleWidth = 450),
dashboardSidebar(width=250,tags$head(
tags$style(HTML("
.sidebar { height: 90vh; overflow-y: auto; font-size: 17px;}
" )
)
),
sidebarMenu(
menuItem("Fruits", tabName = "Fruits"),
fileInput("file","Upload file (.xlsx)", multiple = TRUE,accept = c(".xlsx")),
uiOutput("selectfile"),
)),
dashboardBody(
tabItems(
tabItem(tabName = "Fruits",
fluidPage(
uiOutput("tb")
)
)))))
shinyServer(function(input, output, session)
{
fruits <- reactive({
req(input$file)
inFile <- input$file
if(is.null(inFile))
return(NULL)
fruits<-read_excel(paste(inFile$datapath, ".xlsx", sep=""), sheet = 1)
})
data <- reactive({
data<-data.frame(fruits())
})
output$text1<- renderPrint({
for(i in 1:length(data()$fruit_column)){
writeLines(paste("Fruit", i ,"is", data()[i,fruit_column]))
}
})
output$tb <- renderUI({
if(is.null(input$file)) {return()}
else
tabsetPanel(
tabPanel("Tab 1",
box( title = "Fruit Log", status = "primary", solidHeader = TRUE,
collapsible = TRUE,
textOutput("text1")))
)
})
})
shinyApp(ui, server)
Это должно дать приблизительное представление о приложении, которое я создал, хотя в этом воспроизводимом примере могут быть ошибки.
output$text1
в пользовательском интерфейсе? Помните, что вы пишете HTML, а HTML не использует символ новой строки для новых строк. Он использует специальный элемент HTML, такой как ` `, для разрывов строк. Вам будет легче помочь, если вы включите простой воспроизводимый пример с образцом ввода, который можно использовать для тестирования и проверки возможных решений. - person MrFlick   schedule 21.06.2021