R闪亮的移动应用程序:防止PullToRefresh



上下文:我正在使用shinyMobile软件包开发一个移动Shiny应用程序,该软件包是著名的framework7 HTML模板的包装器。

在我的应用中,用户必须使用多个下拉列表在第一个选项卡上选择属性,然后在其他选项卡上生成一些输出。每个选项卡都要求用户上下滚动以访问所有内容,在此过程中,通常会触发"拉动刷新"功能。

这真的很烦人,因为整个属性选择和输出都会丢失,用户必须从头开始。

尝试了什么:基于这个将我指向这个 Google 开发人员页面的 SO 线程,我尝试将 CSS 翻滚动行为属性设置为containbody {overscroll-behavior-y: contain;}问题:它对我不起作用!(在Chrome Android上测试(

最小可重现示例:

默认应用,部署在此处

library(shiny);library(shinyMobile)
shiny::shinyApp(
ui = f7Page(
f7Card(
h5('try to pull to refresh. normally it should work.')
)
),
server = function(input, output) {}
)

据说是固定的应用程序,部署在这里

library(shiny);library(shinyMobile)
shiny::shinyApp(
ui = f7Page(
tags$style(type='text/css', '.body{overscroll-behavior-y: contain;}'),
f7Card(
h5('try to pull to refresh. Normally it should not work.')
)
),
server = function(input, output) {}
)

希望你们能重现我的问题并确定问题所在!!

您可能希望将 css 部分更改为:html,body{overscroll-behavior-y: contain;},请参阅 https://stackoverflow.com/a/42509310/3502164。

然后它在我的手机上对我有用(安卓浏览器(。

可重现的示例:

library(shiny)
library(shinyMobile)
app <- shiny::shinyApp(
ui = f7Page(
tags$style(type='text/css', 'html,body{overscroll-behavior-y: contain;}'),
f7Card(
h5('try to pull to refresh. Normally it should not work.')
)
),
server = function(input, output) {}
)
# use host config to access app from mobiles in the same network
shiny::runApp(appDir = app, host = '0.0.0.0') 

相关内容

  • 没有找到相关文章

最新更新