如何在Shiny中默认选择verbatimTextOutput中的文本?

时间:2019-10-23 13:37:04

标签: html css r shiny

这是与上一个问题(Is it possible to have fixed width verbatimTextOutput and have texts change lines in Shiny?)相关的问题。我有以下带有verbatimTextOutput的闪亮应用(https://yuchenw.shinyapps.io/Shiny_verbatimtext_fixed/),可以显示长文本。默认情况下可以选择那些文本吗?一个示例就是书签按钮的行为。如下面的屏幕截图所示,当书签弹出窗口出现时,已经选择了文本。我想使用verbatimTextOutput重现相同的行为。

enter image description here

代码

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)

1 个答案:

答案 0 :(得分:1)

感谢@ismirsehregal的帮助。在这里,我分享了这个问题的解决方法。此答案在只读模式下使用@result The JSValue that results from evaluating script, or NULL if an exception is thrown. ,而不是我最初要求的textAreaInput。但是,我对verbatimTextOutput的结果和最终外观感到满意。

我学习了如何根据此信息(https://stackoverflow.com/a/50745110/7669809)选择文本。我还从这篇文章(Make textarea readonly with jquery)了解了如何为textAreaInput设置只读模式。这是我的代码。

textAreaInput

这是应用程序运行时的外观。

enter image description here