我希望按钮和textinputs在同一行上。这些按钮位于同一行,但textInputs位于新行。我不明白为什么。
ui = fluidPage(
textInput("ti1", "TI1"),
actionButton("Button1", "B1"),
actionButton("Button2", "B2"),
textInput("ti2", "TI2")
)
server <- function(input, output) {}
shinyApp(ui= ui, server=server)
答案 0 :(得分:3)
如下所示,textInput()
将其输出包装在HTML div
元素中,而actionButton
则没有。 div
元素的默认行为是在视觉上隔离它们的内容,实际上是在元素之前和之后添加一个换行符,这就是您所看到的。
textInput("ti1", "TI1")
## <div class="form-group shiny-input-container">
## <label for="ti1">TI1</label>
## <input id="ti1" type="text" class="form-control" value=""/>
## </div>
actionButton("Button1", "B1")
## <button id="Button1" type="button" class="btn btn-default action-button">B1</button>
如果您想在一行上输入多个文本(和/或在各自的行上分别输入多个操作按钮),则可以使用功能fluidRow()
和column()
,如下所示:
ui <- fluidPage(
fluidRow(
column(width = 4,
textInput("ti2", "TI2")),
column(width = 4,
textInput("ti1", "TI1"))
),
fluidRow(actionButton("Button1", "B1")),
fluidRow(actionButton("Button2", "B2"))
)
server <- function(input, output) {}
shinyApp(ui= ui, server=server)