0

我发现bsModal可以按预期使用流体页面,但不能没有它。只需单击“查看表”按钮即可查看差异。

带有fluidPage的版本:

library(shiny)
library(shinyBS)

shinyApp(
  ui =
    fluidPage(
      sidebarLayout(
        sidebarPanel(
          actionButton("tabBut", "View Table")
        ),

        mainPanel(
          bsModal("modalExample", "Data Table", "tabBut", size = "large",
                  "distTable")
        )
      )
    ),
  server =
    function(input, output, session) {}
)

没有fluidPage的版本,唯一的变化就是fluidPage被tagList代替了:

library(shiny)
library(shinyBS)

shinyApp(
  ui =
    tagList(
      sidebarLayout(
        sidebarPanel(
          actionButton("tabBut", "View Table")
        ),

        mainPanel(
          bsModal("modalExample", "Data Table", "tabBut", size = "large",
                  "distTable")
        )
      )
    ),
  server =
    function(input, output, session) {}
)

谁能帮我解释一下bsModalfluidPage之间发生了什么?

4

1 回答 1

0

因为fluidPage它不仅仅是一个简单的tagList.

tagList只需将其参数并将它们连接起来(期望每个参数都是某种 HTML 标记)。fluidPage从字面上生成带有引导依赖项的整个 HTML 文档。

你的第一个例子是形象地“建造一个有地下室、平面图和阁楼的房子”,sidebarLayout解释地板的布局和fluidPage成为房子。移除它fluidPage,您将尝试建造带有地下室、平面图和阁楼的房屋,但没有地基、墙壁或屋顶。

于 2019-03-22T06:49:14.007 回答