【发布时间】:2017-11-10 03:18:21
【问题描述】:
Radiant 是一个神奇的 Shiny 小程序,大家可能都知道:https://vnijs.shinyapps.io/radiant/?SSUID=c730754697
这个应用程序受益于通过使用可点击的“?”帮助其用户的一种非常好的方式。标记在每个侧边栏面板下方,以及随后出现在页面上的文档。
谁能解释一下如何将此类帮助页面添加到我的 Shiny 小程序中?我在这个小程序的代码中找不到相关的功能。
【问题讨论】:
Radiant 是一个神奇的 Shiny 小程序,大家可能都知道:https://vnijs.shinyapps.io/radiant/?SSUID=c730754697
这个应用程序受益于通过使用可点击的“?”帮助其用户的一种非常好的方式。标记在每个侧边栏面板下方,以及随后出现在页面上的文档。
谁能解释一下如何将此类帮助页面添加到我的 Shiny 小程序中?我在这个小程序的代码中找不到相关的功能。
【问题讨论】:
您应该查看 R 包:shinyBS。在哪里可以使用函数bsModal,i 正是您要找的。
下面是github page 上发布的示例应用程序,正如您所见,按下“查看表格”后,会出现表格弹出窗口。
为了获得这个漂亮的问号按钮,您可以将使用bsButton() 创建的函数/对象与bsModal() 一起用作触发器。
--> 这是一个指向stackoverflow question 的链接,其中有一个可能对您有所帮助的shinyBS 示例。
【讨论】:
关于闪亮应用程序指南,我遇到了很棒的rintrojs 包,它允许您在shiny 应用程序中构建小部件的描述。你可以在这里找到描述https://carlganz.github.io/rintrojs/
rm(list = ls())
library(shiny)
library(shinyjs)
library(rintrojs)
ui <- fluidPage(
useShinyjs(),
introjsUI(),
introBox(actionButton("hide","a"),data.step = 1,data.intro = "By Clicking this button the other one will dissapear"),
introBox(actionButton("b","b"),data.step = 2,data.intro = "Toggle this button"),br(),
bsButton("help", label = "About this Page", block = F,style = "primary",icon =icon("question-circle"))
)
server <- shinyServer(function(input,output,session){
observeEvent(input$help,introjs(session, options = list("showBullets"="false", "showProgress"="true", "showStepNumbers"="false","nextLabel"="Next","prevLabel"="Prev","skipLabel"="Skip")))
observeEvent(input$hide,{
toggle("b")
})
})
runApp(list(ui = ui, server = server))
【讨论】:
Radiant 对帮助文件使用模态。在最新版本的闪亮中,最简单的方法是使用modelDialog。见https://shiny.rstudio.com/reference/shiny/latest/modalDialog.html
【讨论】: