Shiny Basic系列:
参考教程:https://mastering-shiny.org/
(1)IO控件
(2)Layout布局
(3)Reactive用法
(4)Feedback提醒
(5)Module模块
Shiny Package系列:
(1)shinyWidgets
(2)shinyJS
(5)bslib
(6)Other pkgs
shinydashboardPlus为shinydashboard包的升级版本,同时兼容shinydashboard的用法
|
|
1. skeleton更新
1.1 Controlbar
- https://shinydashboardplus.rinterface.com/articles/controlbar
- 通过dashboardPage()的controlbar参数设置右边侧边栏
- 具体是在dashboardControlbar()内设置UI控件,可进一步通过
controlbarMenu()/controlbarItem()
设置多个Tab的内容,建议最多设置5个 - 可通过updateControlbar以及updateControlbarMenu动态更新显示状态
|
|
1.2 Footer
- https://shinydashboardplus.rinterface.com/articles/controlbar
- 通过dashboardPage()的footer参数设置底边尾注
- 具体是在dashboardFooter()内设置尾注的文本注释信息
|
|
1.3 Header
- https://shinydashboardplus.rinterface.com/articles/enhanced-header
- 在shinydashboard包中可使用dropdownMenu在dashboardHeader设置不同类型的文本提醒下拉菜单(默认右侧)
- 而shinydashboardplus支持在dashboardHeader(leftUI参数)的左侧设置多种类型下拉菜单
- 来自shinyWidgets的dropdownButton(),可嵌入UI控件
- 来自shinydashboard的dropdownMenu(),可设置3类文本
- 来自shinydashboardplus的dropdownBlock(),可嵌入UI控件
|
|
2. box()更新
https://shinydashboardplus.rinterface.com/articles/improved-boxes
2.1 动作按钮
在设置box的id(例如为"mybox")前提下,有4类动作按钮
- toggle:折叠或展开box body;(input$mybox$collapsed)
- remove:隐藏box;(input$mybox$visible为FALSE)
- restore:恢复box; (input$mybox$visible为TRUE)
- update:更新box内的content
|
|
2.2 右上角装饰UI
(1)通过box()函数的参数在box右上角设置多种功能的ui元素:
- label参数:通过函数boxLabel()设置,起到类似badge的作用;
- dropdownMenu参数:通过函数boxDropdown()/boxDropdownItem()设置下拉列表;
- collapsible参数:折叠box选项
- closable参数:隐藏box选项
- boxSidebar参数:通过函数boxSidebar()设置侧边栏
(2) descriptionBlock()函数可以在box内展示关键的数字/文本
2.3 定制化box
userBox()
:展示个人信息,也可以通过updateBox()实现动态更新
|
|
flipBox()
:具有正反面(front/back),可通过updateFlipBox()实现动态更新
3. 其它新增
3.1 accordion()布局
- 手风琴式布局
- https://shinydashboardplus.rinterface.com/articles/extra-elements
- 每个
accordion()
可以包括多个accordionItem()
纵向堆叠而成;但只能保持其中一个为open的状态,其余均为collapsed
|
|
3.2 skin主题颜色
- https://shinydashboardplus.rinterface.com/articles/more-skins
- 通过dashboardPage()函数的skin参数设置主题颜色,提供6种颜色,2类主题,以及一个黑夜模式
|
|
- 此外,也可以通过skinSelector()在右侧控制栏提供所有选择(midnight除外)
|
|
3.3 preloader界面
- https://shinydashboardplus.rinterface.com/articles/css-preloader
- 基于waiter包,在dashboardPage()函数的preloader参数设置app的启动加载悬窗
|
|
4. bs4Dash
Bootstrap 4 shinydashboard using AdminLTE3 兼容shinydashboard以及shinydashboardPlus的用法。
4.1 Skeleton优化
- https://bs4dash.rinterface.com/articles/step-by-step
- 如下仅列举部分新颖的更新参数,详见上方链接
|
|
-
dashboardPage()
- scrollToTop参数:快速回到顶部按钮
-
dashboardSidebar()
- minified参数:隐藏侧边栏时,仍保留图标
- expandOnHover参数:鼠标触动时,自动展开侧边栏
-
dashboardHeader()
- title参数可通过dashboardBrand设置多元的标题属性
-
dashboardControlbar()
- pinned参数可使右侧边栏保持open状态
-
dashboardBody()
- box()内可通过设置maximizable参数添加全屏展示按钮
4.2 Popover, tooltips浮窗
-
popover()
,addPopover()/removePopover()
点击触发式浮窗 -
tooltip()
,addTooltip()/removeTooltip
接触触发式浮窗
Tips: 上述两类浮窗需要在header栏右侧的help switch开启状态下才能生效
|
|
图片滑动gallery展示效果可通过
carousel()/carouselItem()
设置,其在bs4Dash与shinydashboardPlus均支持