r - 允许滚动越过闪亮仪表板的底部
问题描述
当我在我的 Shiny 应用程序中插入新元素时,我希望最后一个元素位于顶部,因此能够滚动到闪亮仪表板的底部。
例如,在下面的 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
元素。你可以给这个新元素一个相对高度的度量,这样它总是会填满底部的剩余空间:
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
推荐阅读
- shopify - 在 Unbounce 上的 shopify 登陆页面,这将允许访问者将产品添加到购物车
- python - 使用 NLTK Python 对推文进行分类
- python - Python,Pandas:如何根据开始时间和结束时间对数据帧的行进行分组
- r - 根据最接近的时间戳将两个数据帧与 R 中的几列连接起来
- sql - 预期获得的 CLOB 数据类型
- c# - C# - Reflection.Emit:返回对局部变量的引用
- for-loop - CMD 脚本:在“for”循环中未正确评估变量
- apache - 将 htaccess RewriteCond 转换为 web.config
- java - 设置 namespacePrefixMapper 定义前缀映射时的 Jaxb 属性异常
- javascript - i 和 svg 的 CSS 问题