'shinycssloaders' 包被开发为一个简单的包装器,用于为 UI 输出提供加载图标,效果很好。不幸的是,它不适用于通过 LeafletProxy 更新的 map (只有生成的初始 map 将使用加载图标)。
有没有已知的解决方案?
最佳答案
下面是我如何使用 github.com/AnalytixWare/ShinySky/blob/master/R/busy-indicator.r 提供的功能
在您的用户界面中:
tagList(
tags$head(
tags$script(type="text/javascript", src = "busy.js")
)
),
div(class = "busy", p('your text'),img(src="loader.gif")
)
文件夹 www 包含 loader.gif 和 busy.js
setInterval(function(){
if ($('html').attr('class')=='shiny-busy') {
setTimeout(function() {
if ($('html').attr('class')=='shiny-busy') {
$('div.busy').show()
}
}, 1500)
} else {
$('div.busy').hide()
}
}, 0)
loader.gif(和文本,如果提供)然后总是在 Shiny 忙时出现(在函数中提供延迟)。
关于r - 在 Shiny 中使用 LeafletProxy 更新时在 map 上显示加载微调器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774255/