可以使用循环和CSS来实现。下面是一个示例代码:
library(shiny)
ui <- fluidPage(
tags$head(
tags$style(
HTML("
.input-group {
display: flex;
flex-direction: row;
align-items: center;
}
.input-group .label {
width: 50px;
}
.input-group .input {
flex: 1;
}
")
)
),
fluidRow(
column(width = 6,
div(class = "input-group",
tags$label(class = "label", "Variable 1:"),
textInput(inputId = "var1", label = NULL, value = "")
)
),
column(width = 6,
div(class = "input-group",
tags$label(class = "label", "Variable 2:"),
textInput(inputId = "var2", label = NULL, value = "")
)
)
)
)
server <- function(input, output) {
}
shinyApp(ui = ui, server = server)
在这个示例代码中,我们使用了CSS来对齐textInputs的变量编号。通过定义.input-group
类来设置输入组的样式,设置display: flex;
来使其成为一个flex容器,flex-direction: row;
来设置子元素的排列方向为水平,align-items: center;
来使子元素在垂直方向上居中对齐。
接下来,我们使用.label
类和.input
类来设置标签和输入框的样式。设置.label
的宽度为50px,使所有的标签宽度一致,设置.input
的flex: 1;
来使输入框占据剩余的空间。
通过这样的设置,我们可以实现在shiny应用中对齐textInputs的变量编号。
领取专属 10元无门槛券
手把手带您无忧上云