File tree Expand file tree Collapse file tree 3 files changed +73
-1
lines changed
ionic/components/infinite-scroll Expand file tree Collapse file tree 3 files changed +73
-1
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ ion-infinite-scroll-content {
2626}
2727
2828.infinite-loading {
29+ opacity : 0 ;
2930 width : 100% ;
3031 margin : $infinite-scroll-loading-margin ;
3132}
@@ -39,6 +40,10 @@ ion-infinite-scroll-content {
3940// Infinite Scroll Content States
4041// --------------------------------------------------
4142
42- ion-infinite-scroll-content [state = disabled ] .infinite-loading {
43+ ion-infinite-scroll-content [state = loading ] .infinite-loading {
44+ opacity : 1 ;
45+ }
46+
47+ ion-infinite-scroll-content [state = disabled ] {
4348 display : none ;
4449}
Original file line number Diff line number Diff line change 1+ import { App , InfiniteScroll } from 'ionic-angular' ;
2+
3+
4+ @App ( {
5+ templateUrl : 'main.html'
6+ } )
7+ class E2EApp {
8+ items = [ ] ;
9+
10+ constructor ( ) {
11+ for ( var i = 0 ; i < 5 ; i ++ ) {
12+ this . items . push ( this . items . length ) ;
13+ }
14+ }
15+
16+ doInfinite ( infiniteScroll : InfiniteScroll ) {
17+ console . log ( 'Begin async operation' ) ;
18+
19+ getAsyncData ( ) . then ( newData => {
20+ for ( var i = 0 ; i < newData . length ; i ++ ) {
21+ this . items . push ( this . items . length ) ;
22+ }
23+
24+ console . log ( 'Finished receiving data, async operation complete' ) ;
25+ infiniteScroll . complete ( ) ;
26+
27+ if ( this . items . length > 90 ) {
28+ infiniteScroll . enable ( false ) ;
29+ }
30+ } ) ;
31+ }
32+
33+ }
34+
35+ function getAsyncData ( ) : Promise < number [ ] > {
36+ // async return mock data
37+ return new Promise ( resolve => {
38+
39+ setTimeout ( ( ) => {
40+ let data = [ ] ;
41+ for ( var i = 0 ; i < 30 ; i ++ ) {
42+ data . push ( i ) ;
43+ }
44+
45+ resolve ( data ) ;
46+ } , 500 ) ;
47+
48+ } ) ;
49+ }
Original file line number Diff line number Diff line change 1+ < ion-toolbar > < ion-title > Infinite Scroll</ ion-title > </ ion-toolbar >
2+
3+ < ion-content >
4+
5+ < ion-list >
6+ < ion-item *ngFor ="#item of items ">
7+ {{ item }}
8+ </ ion-item >
9+ </ ion-list >
10+
11+ < ion-infinite-scroll (infinite) ="doInfinite($event) " threshold ="100px ">
12+ < ion-infinite-scroll-content
13+ loadingSpinner ="bubbles "
14+ loadingText ="Loading more data... ">
15+ </ ion-infinite-scroll-content >
16+ </ ion-infinite-scroll >
17+
18+ </ ion-content >
You can’t perform that action at this time.
0 commit comments