Skip to page content

下拉刷新

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 或通知)。