最初,我有一个sidebarLayout,当闪亮的应用程序窗口太窄时,mainPanel移到sidebarPanel下方(对此我没有任何抱怨)。但是,然后我想固定sidebarPanel的位置,以便在我向下滚动mainPanel时可以“跟随”。我找到了解决方案,但是,这创建了一个新问题,当闪亮的应用程序窗口过窄时会发生此问题。现在,不再将mainPanel放在sidebarPanel下方,而是将mainPanel覆盖了sidebarPanel。在修复sidebarPanel时,这并不让我感到惊讶。
但是,如果可能的话,我希望sidebarPanel的固定位置版本保留旧的行为(mainPanel在狭窄的窗口中位于其下方)。我意识到这可能是不可能的,因为如果mainPanel下降到sidebarPanel之下,那么要进入mainPanel,您必须向下滚动,并且这样做可能会使sidebarPanel随身携带。因此,如果反而有一种不同的方法可以使光泽处理超窄的窗口,那就可以。
如果任何人都可以使用固定的侧面板而不需要使用sidebarLayout()的替代解决方案,而这完全避免了我的问题,那么我愿意尝试一下。
以下是我从另一个问题中借来的一个玩具示例: Make sidebarPanel autoscroll with mainPanel in shiny
library("shiny")
ui <- fluidPage(
titlePanel(
"Fixed sidebar panel"
),
sidebarLayout(
sidebarPanel(
style = "position:fixed;width:inherit;",
"Inputs",
width = 3),
mainPanel(
lapply(
X = 1:20,
FUN = function(i) {
plotOutput(outputId = paste("plot", i, sep = "-"))
}
),
width = 9 )
))
server <- function(input, output, session) {
lapply(
X = 1:20,
FUN = function(i) {
output[[paste("plot", i, sep = "-")]] <- renderPlot({plot(rnorm(10))})
}
)
}
shinyApp(ui = ui, server = server)