如何在R Shiny中添加更大的文本输入框?

4
我正在创建一个Shiny App,在其中一个部分,我需要用户输入文本摘要,但是在App中出现的文本输入框的默认大小非常小,使得用户很难输入3-4行的摘要。您能帮我编写一个脚本来使文本输入框变大吗?非常感谢你的帮助! 我的应用快照 =========== 我尝试使用HTML标签进行了以下操作:
library(shiny)

shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel(
      tags$textarea(id="my_textarea", rows=5, "Leave a comment...")
    ),
    mainPanel(
      uiOutput("my_output")
    )
  )
))

但是遇到了一些错误 - 如下所示!

我正在尝试以下操作,但每次在我的Shiny应用程序中都会收到以下错误消息:"ERROR: $ operator is invalid for atomic vectors"shinyUI(fluidPage( sidebarLayout( sidebarPanel( tags$textarea(id="my_textarea", rows=5, "留下评论...") ), mainPanel( uiOutput("my_output") ) ) )) - Sirshendu Maiti
它对我来说就是这样工作的。唯一显示的$tags $ textarea,如果您已经加载了闪亮(并且没有定义另一个名为tags的变量),则应该存在。 - alistaire
2个回答

7

尝试使用textAreaInput代替textInput。前者可以设置高度和宽度,如果一行太长,它会自动换到下一行。

这似乎是这个问题的重复:Shiny中的多行文本输入


2

我做了一个小的美学变化(将css改为100%),但它仍然可以使用。错误可能来自于代码的其他部分。请参考下面的示例。

library(shiny)

ui<-shinyUI(fluidPage(
  sidebarLayout(
    sidebarPanel( 
           tags$style(type="text/css", "textarea {width:100%}") ,
           tags$textarea(id="my_textarea", rows=5,placeholder =  "Leave a comment...", "") 
    ) 
    ,mainPanel( h4('My panel') )
  )
))

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

shinyApp(ui, server)

非常感谢 @Ron Talbot ... 在添加 "shiny::tags" 后它可以工作了。 - Sirshendu Maiti
shinyUI(fluidPage( sidebarLayout( sidebarPanel( shiny::tags$style(type="text/css", "textarea {width:100%}") , shiny::tags$textarea(id="my_textarea", rows=5,placeholder = "Leave a comment...", value="") ) ,mainPanel( h4('My panel') ) ) )) - Sirshendu Maiti
不得不删除“value”参数才能显示文本,但是答案很好! - Tonio Liebrand

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接