bsModal работает с FluidPage, но не без него - PullRequest
0 голосов
/ 22 марта 2019

Я обнаружил, что bsModal работает, как и ожидалось, с fluidPage , но не без него. Просто нажмите кнопку «Просмотреть таблицу», чтобы увидеть разницу.

Версия с liquidPage :

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) {}
)

Может ли кто-нибудь помочь мне объяснить, что произошло между bsModal и liquidPage ?

1 Ответ

0 голосов
/ 22 марта 2019

Поскольку fluidPage - это намного больше, чем просто tagList.

tagList просто принимает аргументы и объединяет их (ожидая, что каждый аргумент будет своего рода тегом HTML).fluidPage буквально генерирует весь HTML-документ с зависимостями начальной загрузки.

Ваш первый пример - образно «построить дом с подвалом, планировкой и мансардой», где sidebarLayout объясняет планировку этажей, а fluidPage - это дом.Удалите fluidPage, и вы пытаетесь построить дом с подвалом, планировкой и мансардой, но без фундамента, стен или крыши.

...