QPullToRefresh 是一个允许用户通过下拉操作来刷新页面内容(或获取最新内容)的组件。
用法
基础
WARNING
在您的 @refresh 函数中,当数据加载完成后,别忘了调用传入的 done() 函数。
当内部滚动位置处于顶部时,向下拉动内容(使用鼠标或手指触摸)即可触发刷新。
自定义图标
自定义颜色
拉取方向 v2.30+
side 属性用于选择从内容的哪条边开始拉取(默认为 top):刷新是通过从该边向内容内部拉动来触发的,此时内部滚动位置停在该边,拉动指示器也从该边进入。对于消息风格的内容(最新条目位于底部)使用 bottom,对于水平滚动的内容使用 left 或 right。
提示
滚动容器
请阅读这里了解 Quasar 如何确定要绑定滚动事件的容器。
- 如果使用 QLayout,建议将 QPullToRefresh 作为 QPage 的直接子元素,并用它包裹页面内容。
- Quasar 通过
scroll、scroll-y或overflow-auto类来检测滚动容器;对于位于只带scroll-x类的容器内的left或right方向,请把scroll-target属性指向该容器。 - 如果您更改了此组件的父元素,别忘了在 QPullToRefresh 的 Vue 引用上调用
updateScrollTarget()。 - QPullToRefresh 同时也允许文本选择,所以如果您的内容中包含图片,建议为图片添加
draggable="false"属性,否则浏览器的原生拖拽行为可能会造成干扰。
无障碍访问 v2.25+
下拉手势是仅指针可用的——键盘和辅助技术用户无法执行该操作。组件在其 ref 上暴露了 trigger() 方法正是为此:将其绑定到一个可见的刷新按钮上,让所有人都有办法刷新。刷新中的加载动画也不会被播报给屏幕阅读器,所以如果完成状态对你的用户很重要,请在 @refresh 处理函数完成时自行播报(例如通过 live region 或通知)。