# <refresh>

# Summary


The <refresh> Component provide a pulldown-refresh function for some special containers, its usage and attributes are similar to the <loading> Component.

To be rendered properly, the <refresh> Component must appear inside the special Component such as <scroller><list><hlist><vlist><waterfall>.


  <div v-for="num in lists">

# Child Components

  • Any other components, like the <text> and <image> components, can be put inside the refresh component.

  • <loading-indicator>: This is a dedicated component which provides a default refresh animation effect, can only be used inside the <refresh> or the <loading> components.



# Attributes

  • Support all common attributes;
AttributeTypeValueDefault Value
displayStringshow / hideshow


  • show:The refresh animation will be started if a <loading-indicator> is included in the refresh component.

  • hide:Collapse the refresh view. It also hides the <loading-indicator> and stops the loading animation if there's a <loading-indicator> included in the refresh component.

Note: The visibility of <refresh> component can be controlled by display attribute with the value show and hide. A display="show" should always be paired with a display="hide" statement.

# Styles

# Events


  • Triggered when the scroller or list is pulled down.


  • Triggered when the scroller or list is pulled down. The attributes dy, pullingDistance, viewHeight and type are accessible from the event object :

  • dy : The offset between two scroll actions

  • pullingDistance : The distance of pulling

  • viewHeight : The height of refreshView

  • type : "pullingdown" constant string type for this event


  <refresh @refresh="onrefresh" @pullingdown="onpullingdown" :display="refreshing ? 'show' : 'hide'">
    <text>Refreshing ...</text>

# Vue Example

  • Complete example goes here

# Rax Example

rax-refreshcontrol is the component <refresh> of rax, which can run in web and weex.

import { createElement, Component, render } from 'rax';
import View from 'rax-view';
import Text from 'rax-text';
import Driver from 'driver-universal';
import RecyclerView from 'rax-recyclerview';
import RefreshControl from 'rax-refreshcontrol';

class RefreshControlDemo extends Component {
  state = {
    isRefreshing: false,
    loaded: 0,
    refreshText: '↓ Pull To Refresh'

  handleRefresh = (e) => {
      isRefreshing: true,
      refreshText: 'Refreshing',
    setTimeout(() => {
      // update Data
        isRefreshing: false,
        refreshText: '↓ Pull To Refresh',
    }, 1000);

  render() {
    return (
              <Text>this is list</Text>

render(<RefreshControlDemo/>, document.body, { driver: Driver });

rax-refreshcontrol doc

Last Updated: 8/15/2022
Excellent docUnusable doc