闪亮:在textInput中对齐文本

时间:2018-10-31 00:41:38

标签: r shiny

我有一个带有输入字段(textInput)的闪亮应用程序。我想将输入文本右对齐。在CSS中,它类似于Agent_Last。有人有想法我可以做到吗?

您可以在下面找到一个代码示例。

text-align: right;

3 个答案:

答案 0 :(得分:1)

我认为应该有一种向textInput添加样式参数的方法,以便您可以将style="text-align: right"传递给textInput。无论如何,这是一种方法-

ui <- fluidPage(
  HTML(
    '<div class="form-group shiny-input-container">
      <label for="text">Enter text here</label>
      <input id="text" type="text" style="text-align: right" class="form-control" value=""/>
      </div>'
  ),
  textOutput("value")
)
server <- function(input, output) {
  output$value <- renderText({
    input$text
  })
}
shinyApp(ui, server)

我这样做的方法只是在控制台中获取textInput("text", "Enter your text here")的输出,然后手动将style属性添加到<input>。要重复使用,您可以将其转换为函数并命名为right_textInput()之类的东西。

enter image description here


另一种方法是将css添加到inputId,在本例中为#text。但是,您必须为每个要右对齐的textInput做一次-

ui <- fluidPage(
  tags$head(tags$style(HTML("#text text-align: right")))
  textInput("text", "Enter text here"),
  textOutput("value")
)
server <- function(input, output) {
  output$value <- renderText({
    input$text
  })
}
shinyApp(ui, server)

答案 1 :(得分:0)

要获得textInput右侧的fluidRow,请使用以下示例。

    library(shiny)
    ui <- fluidPage(
      fluidRow(textInput("text", "Enter your text here"), align = 'right')
    )
    server <- function(input, output) {
      sampleText <- renderText({input$text })
    }
    shinyApp(ui, server)

答案 2 :(得分:-1)

您可以应用CSS,请参见https://shiny.rstudio.com/articles/css.html 在HTML中,文本输入的ID应该为'text