r - 如何在闪亮应用的导航栏中获取 actionLink?
问题描述
我希望用户单击导航栏中的链接并执行某个操作(就像他们单击了 actionLink 或 actionButton)。但是,似乎将项目添加到导航栏的唯一方法是创建一个 tabPanel。如果我创建一个仅包含 actionLink 的 tabPanel,则会提供一个链接,但它不与 tabPanel 的其余部分内联。
有关示例,请参见下面的代码:
library(shiny)
ui <- shinyUI(
navbarPage(title = "This is the navbar",
tabPanel("Tab 1"),
tabPanel("Tab 2"),
tabPanel(actionLink("Save_button", "Save")))
)
server <- function(input, output) {
observeEvent(input$Save_button,{
print("You just clicked the actionLink in the navbar")
})
}
shinyApp(ui = ui, server = server)
如您所见,名为“保存”的 actionLink 在导航栏中可见,但其上方有一个空框/空间。如果您单击“保存”操作链接上方的该空间,那么您将导航到一个空选项卡。有没有办法摆脱 actionLink 上方的空白空间,以便 actionLink 与 tabPanels 的重置内联,并且用户不会被带到空选项卡?
或者您知道在导航栏中包含 actionButton 或 Link 的更好方法吗?
非常感谢!
解决方案
我建议在单击 a 后使用 的id
参数navbarPage
来触发反应tabPanel
。请检查以下内容:
library(shiny)
ui <- shinyUI(
navbarPage(
title = "This is the navbar",
id = "navbarID",
tabPanel("Tab 1"),
tabPanel("Tab 2"),
tabPanel("Save")
)
)
server <- function(input, output, session) {
observeEvent(input$navbarID, {
if (input$navbarID == "Save") {
print("You just clicked 'Save' in the navbar")
}
})
}
shinyApp(ui = ui, server = server)
推荐阅读
- github - 如何构建 devops 脚本以使用 gulp 构建和部署 github 页面?
- ionic-framework - Ionic 4 + WhatsApp 分享 - 在我分享我的信息后获取接收者/联系方式
- c - 为什么不能在数组中分配多个字符?
- vba - 如何跳过一个循环的 FOR 循环
- html - Bootstrap 4表单不发送选择框的内容
- python - 升级到 Python 3.7 后使用“python\python36”的 Pipenv 致命错误
- react-native - 如何使用本机反应将图像上传到firebase
- sql-server - 网络共享上带有 tnsnames.ora 的 SQL Server 链接服务器 - ORA:12154
- python - 如何使用 Python 将材质应用于 Maya 中的选定面?
- r - 按列分组数据并对子集应用操作