UNPKG

refreshable

Version:

a pull to refresh component for vue

92 lines (71 loc) 2.28 kB
# Refreshable [![npm](https://img.shields.io/npm/v/refreshable?color=green)]((https://www.npmjs.com/package/refreshable)) [![npm](https://img.shields.io/npm/dm/refreshable.svg)](https://www.npmjs.com/package/refreshable) [![vue2](https://img.shields.io/badge/vue-2.x-brightgreen.svg)](https://vuejs.org/) a pull to refresh component for vue ![refreshable.gif](./screenshots/refreshable.gif) ## Installation ```js npm i refreshable ``` 1. globally ```js import Refreshable from 'refreshable' import 'refreshable/dist/assets/refreshable.css' Vue.use(Refreshable) ``` 2. partially ```js import { Refreshable } from 'refreshable' import 'refreshable/dist/assets/refreshable.css' <script> components: { Refreshable } </script> ``` ## Usage 1. turn on pulldown or pullup simply ```html <refreshable ref="rf" :pulldown="true" :pullup="true" @pullingUp="doPullup" @pullingDown="doPulldown"> // your html </refreshable> ``` 2. custom-built for your own ```html <refreshable ref="rf" :pulldown="{ threshold: 50, text: { loading: 'loading for u', normal: 'pull to refresh', done: 'done' }, img: 'random' // spinner/circular/dots/random(default) }" :pullup="{ threshold: 10, text: { loading: 'loading', done: 'done', normal: 'pull up and load more', noMore: 'all loaded' }, img: 'circular' // spinner/circular/dots/random(default) }" @pullingUp="doPullup" @pullingDown="doPulldown"> // your html </refreshable> ``` 3. closure funcs - 3.1 endpoint ```js this.$refs.refreshable.endPullDown() // for pull down event this.$refs.refreshable.endPullUp(hasMore: Boolean) // for pull up event ``` - 3.2 layout recalculate ```js this.$refs.refreshable.setNeedsLayout() ``` - 3.3 auto refresh ```js this.$refs.refreshable.autoRefresh() ``` - 3.4 resume pullUp ```js this.$refs.refreshable.resumePullUp() ``` ## Notice > your `fixed` component or dom element will not effects when wrapped in `<refreshable>` cause of the dependency of the lib is base on `transform`. therefore, your should place all `fixed` elements out of the wrapper.