gpt4 book ai didi

css - R Shiny 中的内联 uiOutput

转载 作者:行者123 更新时间:2023-12-01 22:58:50 26 4
gpt4 key购买 nike

我正在尝试根据用户的 selectInputs 生成一个序列。现在的问题是序列的布局是垂直的。我的问题是如何水平或内联对齐它们。我尝试将 uiOutput 设置为 inline=TRUE,但它没有按预期工作。之前在 shiny google group 上用代码 (https://groups.google.com/forum/#!searchin/shiny-discuss/inline $20uioutput%7Csort:date/shiny-discuss/WD9jh_mHArM/_bYFR_MVBgAJ) 提出了类似的问题,在我的例子中,它使用了稍微不同的用户界面作为添加/删除字母。

library(shiny)
sequence <- letters[1:20]

ui <- fluidPage(
h2("Sequence Length:"),
fluidRow(column(width=10, numericInput("seqlen", label=NULL, value=10))),

h2("Sequence:"),
fluidRow(column(width=10, uiOutput("selects")))

)

server <- function(input, output){

output$selects <- renderUI({
len <- as.integer(input$seqlen)
lapply(1:len, function(i) {
selectInput(inputId = paste0("letter", i),
label = NULL,
choices = sequence,
width="15%")
})

})

}

runApp(list(ui=ui, server=server))

最佳答案

我建议使用 display: inline-block在 CSS 中内联 div。由于您无法真正自定义外部 selectInput div,您可以将其包装在一个新的 div 中,例如

library(shiny)
sequence <- letters[1:20]

ui <- fluidPage(
h2("Sequence Length:"),
fluidRow(column(width=10, numericInput("seqlen", label=NULL, value=10))),

h2("Sequence:"),
fluidRow(column(width=10, uiOutput("selects")))
)

server <- function(input, output){

output$selects <- renderUI({
len <- as.integer(input$seqlen)
lapply(1:len, function(i) {
div(
selectInput(
inputId = paste0("letter", i),
label = NULL,
choices = sequence
),
style = "display: inline-block;"
)
})
})
}

runApp(list(ui=ui, server=server))

样式表可能比这里的内联 CSS 更好,特别是如果您想自定义其他属性,如边距、宽度等。

关于css - R Shiny 中的内联 uiOutput,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48630983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com