我正在尝试获取闪亮的textAreaInput函数以默认显示html文本,但是我似乎无法这样做。
我知道可以在用户界面中呈现html文本,但是不确定如何获取textAreaInput的value参数来呈现HTML。
我的最小示例如下:
library(shiny)
example_html <- HTML('<p><b>foo</b></p>')
ui <- fluidPage(
textAreaInput('dummy', label = 'dummy', value = example_html)
)
server=function(input,output){
}
shinyApp(ui,server)
任何帮助将不胜感激!
答案 0 :(得分:0)
不确定是否可以将样式应用于文本区域的各个行,但是可以使用CSS样式化整个框。通过使用tags$head
,tags$style
和HTML
函数/发光标签,您可以将样式应用于文本区域。
首先预览页面,然后使用网络浏览器元素检查器获取textarea
元素,.form-control
类或dummy
id选择器标记。然后将选择器以及CSS样式插入代码中:
example_txt <- HTML('foo')
ui <- fluidPage(
tags$head(tags$style(HTML('textarea{font-weight: bold;}'))),
#tags$head(tags$style(HTML('.form-control{font-weight: bold;}'))), # This also works
#tags$head(tags$style(HTML('#dummy{font-weight: bold;}'))), # This also works
textAreaInput('dummy', label = 'dummy', value = example_txt ),
)
答案 1 :(得分:0)
您在注释中提到的用例中,有一个用户可以使用HTML textAreaInput
设置样式的编辑器,这绝对不是您想要包含所见即所得(所见即所得)编辑器的必要条件就像tinyMCE。
您将在此处找到示例
https://iheart.shinyapps.io/shinyMCE-01-basic/
希望这会有所帮助!