@nativescript-community/ui-pulltorefresh
一个 NativeScript 插件,为任何视图提供下拉刷新控件。
npm i --save @nativescript-community/ui-pulltorefresh
- 版本:2.5.3
- GitHub: https://github.com/nativescript-community/ui-pulltorefresh
- NPM: https://npmjs.net.cn/package/%40nativescript-community%2Fui-pulltorefresh
- 下载量
- 昨天: 366
- 上周: 1911
- 上个月: 7993
NativeScript-PullToRefresh
NativeScript 插件,用于在任何视图中使用下拉刷新。
安装
ns plugin add @nativescript-community/ui-pulltorefresh
Android - SwipeRefreshLayout
iOS - UIRefreshControl
示例屏幕
Android | iOS |
---|---|
使用方法
NativeScript Core
XML
<page xmlns="http://schemas.nativescript.org/tns.xsd"
xmlns:PullRefresh="@nativescript-community/ui-pulltorefresh"
loaded="pageLoaded">
<PullRefresh:PullToRefresh refresh="refreshList">
<list-view items="{{ users }}">
<list-view.itemTemplate>
<label text="{{ name }}" row="0" col="1" textWrap="true" class="message" />
</list-view.itemTemplate>
</list-view>
</PullRefresh:PullToRefresh>
</page>
JS
function refreshList(args) {
// Get reference to the PullToRefresh component;
var pullRefresh = args.object;
// Do work here... and when done call set refreshing property to false to stop the refreshing
loadItems().then(
resp => {
// ONLY USING A TIMEOUT TO SIMULATE/SHOW OFF THE REFRESHING
setTimeout(() => {
pullRefresh.refreshing = false;
}, 1000);
},
err => {
pullRefresh.refreshing = false;
}
);
}
exports.refreshList = refreshList;
Angular NativeScript
import { registerElement } from '@nativescript/angular';
import { PullToRefresh } from '@nativescript-community/ui-pulltorefresh';
registerElement('PullToRefresh', () => PullToRefresh);
refreshList(args) {
const pullRefresh = args.object;
setTimeout(function () {
pullRefresh.refreshing = false;
}, 1000);
}
HTML
<PullToRefresh (refresh)="refreshList($event)">
<ListView [items]="itemList">
<template let-item="item">
<label [text]="item.id"></label>
</template>
</ListView>
</PullToRefresh>
NativeScript Vue
import Vue from 'nativescript-vue';
Vue.registerElement(
'PullToRefresh',
() => require('@nativescript-community/ui-pulltorefresh').PullToRefresh
);
组件
<template>
<Page>
<PullToRefresh @refresh="refreshList">
<ListView for="item in listOfItems" @itemTap="onItemTap">
<v-template>
<!-- Shows the list item label in the default color and style. -->
<label :text="item.text" />
</v-template>
</ListView>
</PullToRefresh>
</Page>
</template>
<script>
export default {
methods: {
refreshList(args) {
var pullRefresh = args.object;
setTimeout(function() {
pullRefresh.refreshing = false;
}, 1000);
}
}
};
</script>
属性
- refresh : function 必填
- refreshing: boolean - 通知小部件刷新状态已更改。
- indicatorColor: Color - 指示器图标的颜色。
- indicatorFillColor: Color - 指示器背景颜色。