允许滚动到 shinydashboard 的底部
Allow scroll past bottom of shinydashboard
当我将新元素插入我的 Shiny 应用程序时,我希望最后一个元素位于顶部,因此能够滚动到 shinydashboard 的底部。
例如,在下面的 Shiny 应用程序中,插入足够多的 h3("test")
元素后需要滚动条,我如何启用滚动到应用程序底部以便最终的“测试" 在屏幕顶部?
如果最后插入的元素自动位于屏幕顶部(自动滚动),则加分。
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidPage(
div(id="test",
actionButton("bttn", "bttn"))
)
)
)
server <- function(input, output) {
observeEvent(input$bttn, {
insertUI("#test", "afterEnd", ui = tagList(h3("test"), h3("test"), h3("test")))
})
}
shinyApp(ui, server)
有多种方法可以实现。
一种方法是在第一个 div
元素之后创建一个空元素。您可以给这个新元素一个相对高度度量,这样它总是会填满底部剩余的 space:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(dashboardHeader(),
dashboardSidebar(),
dashboardBody(fluidPage(
div(id = "test",
actionButton("bttn", "bttn")),
div(style = "width: 100%; height: 90vh")
)))
server <- function(input, output) {
observeEvent(input$bttn, {
insertUI("#test", "afterEnd", ui = tagList(h3("test"), h3("test"), h3("test")))
})
}
shinyApp(ui, server)
我使用了 90vh
,所以元素的高度是视口高度的 90%
。
https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units
当我将新元素插入我的 Shiny 应用程序时,我希望最后一个元素位于顶部,因此能够滚动到 shinydashboard 的底部。
例如,在下面的 Shiny 应用程序中,插入足够多的 h3("test")
元素后需要滚动条,我如何启用滚动到应用程序底部以便最终的“测试" 在屏幕顶部?
如果最后插入的元素自动位于屏幕顶部(自动滚动),则加分。
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
fluidPage(
div(id="test",
actionButton("bttn", "bttn"))
)
)
)
server <- function(input, output) {
observeEvent(input$bttn, {
insertUI("#test", "afterEnd", ui = tagList(h3("test"), h3("test"), h3("test")))
})
}
shinyApp(ui, server)
有多种方法可以实现。
一种方法是在第一个 div
元素之后创建一个空元素。您可以给这个新元素一个相对高度度量,这样它总是会填满底部剩余的 space:
library(shiny)
library(shinydashboard)
ui <- dashboardPage(dashboardHeader(),
dashboardSidebar(),
dashboardBody(fluidPage(
div(id = "test",
actionButton("bttn", "bttn")),
div(style = "width: 100%; height: 90vh")
)))
server <- function(input, output) {
observeEvent(input$bttn, {
insertUI("#test", "afterEnd", ui = tagList(h3("test"), h3("test"), h3("test")))
})
}
shinyApp(ui, server)
我使用了 90vh
,所以元素的高度是视口高度的 90%
。
https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units