我试图让shiny的textAreaInput函数默认显示html文本,但我似乎无法做到这一点。
我知道可以在UI中呈现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)任何帮助都将不胜感激!
发布于 2018-06-25 12:02:48
不确定是否可以将样式应用于文本区域的个别行,但可以使用css设置整个框的样式。通过使用tags$head、tags$style和HTML函数/闪亮的标签,您可以将样式应用于文本区域。
首先预览页面,然后使用web浏览器元素检查器获取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 ),
)发布于 2018-06-25 15:50:56
因为你在评论中提到的用例中有一个编辑器,用户可以用超文本标记语言样式,textAreaInput是不够的,你想包括一些所见即所得(所见即所得)编辑器,如tinyMCE。
你可以在这里找到一个例子,例如
https://iheart.shinyapps.io/shinyMCE-01-basic/
希望这能有所帮助!!
https://stackoverflow.com/questions/51015005
复制相似问题