【问题标题】:Is it possible to have fixed width verbatimTextOutput and have texts change lines in Shiny?是否可以有固定宽度的逐字文本输出并让文本在 Shiny 中换行?
【发布时间】:2020-02-19 07:12:50
【问题描述】:

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

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

如所附截图所示,当字符串很长时,verbatimTextOutput 不会显示所有文本。相反,verbatimTextOutput 会在底部显示一个滚动条。

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

如果您有任何问题,请告诉我。

代码

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)

【问题讨论】:

    标签: html css r shiny


    【解决方案1】:

    请尝试以下 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)
    

    【讨论】:

    • 非常感谢。我在此处发布了一个后续问题 (stackoverflow.com/q/58524163/7669809)。如果您能看一下,我将不胜感激。
    • 有没有办法调整这个解决方案来禁止单词被拆分?这样就只能用空格换行了?
    • 请检查有关 CSS 空白属性 here 的不同选项。
    猜你喜欢
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多