使 HTML 输出中的粗体文本 R 闪亮

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33392784/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-29 18:25:42  来源:igfitidea点击:

Make bold text in HTML output R shiny

htmlrformattingshiny

提问by Antoine

Reproducible example:

可重现的例子:

require(shiny)
runApp(list(ui = pageWithSidebar(
headerPanel("Example"),
  sidebarPanel(
    sliderInput("index", 
                label = "Select a number",
                min = 1,
                max = 4,
                step = 1,
                value = 2)),
  mainPanel(
  htmlOutput("text")
  )),
server = function(input, output) {
  output$text <- renderUI({
    HTML(paste(c("banana","raccoon","duck","grapefruit")))
  })
}
))

I would like to have the word corresponding to index ("raccoon" in the default) displayed in boldand the other words in normal font.

我希望与索引对应的单词(默认为“raccoon”)以粗体显示,其他单词以普通字体显示。

If I do:

如果我做:

HTML(
<b>paste(c("banana","raccoon","duck","grapefruit")[input$index])<\b>,
paste(c("banana","raccoon","duck","grapefruit")[setdiff(1:4,input$index)])
)

I receive an error (<is not recognized)...

我收到一个错误(<无法识别)...

回答by Sebastian

One more try, is this helpful?

再试一次,有用吗?

require(shiny)

fruits <- c("banana","raccoon","duck","grapefruit")

runApp(list(ui = pageWithSidebar(
  headerPanel("Example"),
  sidebarPanel(
    sliderInput("index", 
                label = "Select a number",
                min = 1,
                max = 4,
                step = 1,
                value = 2)),
  mainPanel(
    htmlOutput("text")
  )),
  server = function(input, output) {
    output$text <- renderUI({
      fruits[input$index] <- paste("<b>",fruits[input$index],"</b>")
      HTML(paste(fruits))
    })
  }
))

回答by Sebastian

This might help you:

这可能会帮助您:

shinyApp(
  ui <- basicPage(
    uiOutput(outputId = "text")

  ),
  server <- function(input,output){

    output$text <- renderText({
      HTML(paste0("<b>","bold","</b>", " not bold"))
    })

  })

Is that what you were looking for?

这就是你要找的吗?

回答by JasonAizkalns

If you're not set on using the HTMLfunction, I believe you should be able to use strong(paste(character_vector[index]))instead.

如果您不打算使用该HTML功能,我相信您应该可以使用它strong(paste(character_vector[index]))

回答by Ferran VilBer

Just use renderPrintinstead of renderText

只需使用renderPrint代替renderText

renderPrint({
HTML(paste0("El valor 1 es:", input$val1,"\n","el valor 2 es:",input$val2))
})