在 uioutput 显示下方的新行中显示文本

问题描述 投票:0回答:1

uiOutput('myTable')
后跟
p("Here is some text....")
将文本放在
uioutput
显示旁边,但我喜欢从页面左侧开始在新行中打印文本。添加
br()
只是添加相当于屏幕宽度的空白区域,因此,文本从新行开始,而不是从页面左侧开始。有趣的是,添加任何控制小部件,例如
dateInput
都会在新行中显示该小部件。就我而言,
uioutput
输入来自
map
[ package
purrr
]。我通过
map
组合了
HTML("<br>")
输出和
list
,但没有解决方案。这是可重现的代码:

library(shiny)
ui <- fluidPage(
   tabPanel("Test",
            numericInput("samsize","specify sample size",4,1,52),
            uiOutput('myTable'),
            #dateInput("date", label = "Today's Date")
            #br(""),
            p("Here is some text...")
   ))

server <- function(input, output) {
   data <- reactive({
      alphabets <- c(letters,LETTERS)
      Index <- seq(1,length(alphabets),1)
      names(Index) <- alphabets

      # Notice I don't put the vector in a one row matrix as in you example
      sample(Index,input$samsize)
   })

   library(purrr) # map is a nice alternative to lapply
   output$myTable <- renderUI(map(names(data()),~div(strong(.),
                                                     div(data()[.]),
                                                     style="float:left;padding:10px 20px;")))
}

shinyApp(ui, server)

这是屏幕截图。如图所示,这里有一些文本位于

uioutput
显示屏旁边,我想将其放在显示屏下方的新行中enter image description here

html css r shiny datatable
1个回答
1
投票

使用

div
float:left
样式后,需要清除浮动,例如使用
clear:left

ui <- fluidPage(
  tabPanel("Test",
           numericInput("samsize","specify sample size",4,1,52),
           uiOutput('myTable'),
           div("Here is some text...", style="clear:left;"),
           dateInput("date", label = "Today's Date")
  ))

Result using clear:left

您可以在这里找到更多有关浮动的信息

div

© www.soinside.com 2019 - 2024. All rights reserved.