将函数连接到 R Shiny Dashboard 中的 actionButton
Posted
技术标签:
【中文标题】将函数连接到 R Shiny Dashboard 中的 actionButton【英文标题】:Connect a function to actionButton in R Shiny Dashboard 【发布时间】:2021-09-17 04:48:22 【问题描述】:我的一个模块中有一个带有 actionButton 的闪亮仪表板
actionButton("runbutton", "Run Test Now")
我必须这样设计它,当用户点击按钮时,该按钮将调用我创建的函数
test_run <- function()
library(httr)
headers = c(
`Accept` = 'application/vnd.github.v3+json',
`Authorization` = 'GITHUB_PAT_TOKEN'
)
data = '"ref":"main"'
httr::POST(url = 'https://api.github.com/repos/USER/REPO)/actions/workflows/ID/dispatches', httr::add_headers(.headers=headers), body = data)
当用户点击按钮时,有什么方法可以调用 test_run() 吗? 我尝试使用 onclick 实现,但没有成功。
【问题讨论】:
【参考方案1】:我对@987654321@s 使用的技术是observeEvent
。将这样的内容添加到您的 server
:
observeEvent(input$runbutton,
test_run()
)
这将在用户单击按钮时调用您创建的函数。还有其他方法,例如使用?observe
或?req
【讨论】:
是的,我也尝试过使用observeEvent
,但问题是当我使用 run_dev.R 文件 golem 启动仪表板时,该函数会自动调用,但是当我点击按钮。
你在代码中哪里定义你的函数? server
?
是的! actionButton
在 ui
中,observeEvent
在 server
中。
哦,我的意思是你的test_run()
函数在哪里
一开始是在服务器文件里,后来我把它移到了R文件夹内的一个单独的R文件中。以上是关于将函数连接到 R Shiny Dashboard 中的 actionButton的主要内容,如果未能解决你的问题,请参考以下文章
连接到 Jet/ACE 数据库的 Ubuntu Shiny 服务器
Shiny:Shiny Dashboard (sidebarMenu) 中的 renderMenu 和 observeEvent 冲突
如何更改 Shiny Dashboard 中固定控制栏的颜色
在 iOS 中添加了 Google Crashlytics - 未连接到 Firebase Crashlytics Dashboard