增加来自shinyBS的popify弹出窗口的宽度

Posted

技术标签:

【中文标题】增加来自shinyBS的popify弹出窗口的宽度【英文标题】:Increase width of popify pop-up from shinyBS 【发布时间】:2017-04-04 23:53:55 【问题描述】:

我使用 Shiny 中 shinyBS 包中的 popify 函数创建了一个弹出窗口。我想在过滤器底部弹出一个与过滤器本身一样宽的弹出窗口。我在文档中找不到任何关于此的内容。

截图:

示例代码:

library(shiny)
library(shinyBS)

shinyApp(
  ui =
    fluidPage(
      sidebarLayout(
        sidebarPanel(
          tags$span(
            popify(
          sliderInput("bins",
                      "Number of bins:",
                      min = 1,
                      max = 50,
                      value = 30),
          'a very long popup',"1. I want everything behind 1 on one line and everything that starts after<br> 2. I want to see on the second line without wrapping it to the 3rd line.")),
          actionButton("tabBut", "View Table")
        ),

        mainPanel(
          plotOutput("distPlot"),
          bsModal("modalExample", "Data Table", "tabBut", size = "large",
                  dataTableOutput("distTable"))
        )
      )
    ),
  server =
    function(input, output, session) 

      output$distPlot <- renderPlot(

        x    <- faithful[, 2]
        bins <- seq(min(x), max(x), length.out = input$bins + 1)

        # draw the histogram with the specified number of bins
        hist(x, breaks = bins, col = 'darkgray', border = 'white')

      )

      output$distTable <- renderDataTable(

        x    <- faithful[, 2]
        bins <- seq(min(x), max(x), length.out = input$bins + 1)

        # draw the histogram with the specified number of bins
        tab <- hist(x, breaks = bins, plot = FALSE)
        tab$breaks <- sapply(seq(length(tab$breaks) - 1), function(i) 
          paste0(signif(tab$breaks[i], 3), "-", signif(tab$breaks[i+1], 3))
        )
        tab <- as.data.frame(do.call(cbind, tab))
        colnames(tab) <- c("Bins", "Counts", "Density")
        return(tab[, 1:3])

      , options = list(pageLength=10))

    
)

【问题讨论】:

应该可以使用模板选项:getbootstrap.com/javascript/#tooltips-options,但我发现它不适用于popify 中的选项,所以也许值得在 github 上提出问题。 【参考方案1】:

您可以尝试添加一些 CSS 来做到这一点。

您可以在侧边栏面板中添加:

tags$style(".popover
            max-width: 100%;
          ")

如果这还不够大,您可以在popify 中添加options=list(container="body") 以使body 成为允许弹出窗口与页面一样大的支架。

还有更多信息 here,我将这个答案改编为 R。

【讨论】:

以上是关于增加来自shinyBS的popify弹出窗口的宽度的主要内容,如果未能解决你的问题,请参考以下文章

增加弹出框的宽度

弹出框的最大尺寸

iOS8模式弹出窗口中UINavigationController视图的宽度?

bootstrap:弹出框内的图像超出了窗口大小

如何根据窗口宽度增加字体大小?

是否可以在 winform 中增加日历弹出窗口的大小?