我有一个使用verbatimTextOutput来显示一些文本的简单应用程序。我想知道是否可以固定verbatimTextOutput的宽度并更改文本输出?

请参见此示例(https://yuchenw.shinyapps.io/verbatimtext_bookmark/)。我还附上了下面的代码。

如所附的屏幕快照所示,当字符串很长时,verbatimTextOutput不会显示所有文本。相反,verbatimTextOutput将在底部显示一个滚动条。

html - 是否可以具有固定宽度的verbatimTextOutput并在Shiny中更改文本行?-LMLPHP

但是,我希望verbatimTextOutput的底部没有滚动条。我还需要当文本较长时,更改行以适合verbatimTextOutput。以下面为例,即单击书签按钮。我们可以看到,冗长的URL更改了行,并且在输出的底部没有滚动条。如果书签按钮可以做到这一点,希望我也可以使verbatimTextOutput显示书签的相似特征和外观。

请让我知道,如果你有任何问题。

html - 是否可以具有固定宽度的verbatimTextOutput并在Shiny中更改文本行?-LMLPHP



library(shiny)


ui <- function(request){
  fluidPage(
    column(
      width = 6,
      textInput(inputId = "txt", label = "Type in some texts",
                value = paste0(rep(letters, 10), collapse = "")),
      strong("Show the texts"),
      verbatimTextOutput("txt_out"),
      br(),
      bookmarkButton()
    )
  )
}
server <- function(input, output, session){
  output$txt_out <- renderText({
    input$txt
  })
}
enableBookmarking("url")
shinyApp(ui, server)

最佳答案

请尝试以下CSS:

library(shiny)

ui <- function(request){
  fluidPage(
    tags$style(type='text/css', '#txt_out {white-space: pre-wrap;}'),
    column(
      width = 6,
      textInput(inputId = "txt", label = "Type in some texts",
                value = paste0(rep(letters, 10), collapse = "")),
      strong("Show the texts"),
      verbatimTextOutput("txt_out"),
      br(),
      bookmarkButton()
    )
  )
}
server <- function(input, output, session){
  output$txt_out <- renderText({
    input$txt
  })
}
enableBookmarking("url")
shinyApp(ui, server)

关于html - 是否可以具有固定宽度的verbatimTextOutput并在Shiny中更改文本行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58516071/

10-13 01:55