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 {
26
26
}
27
27
28
28
.infinite-loading {
29
+ opacity : 0 ;
29
30
width : 100% ;
30
31
margin : $infinite-scroll-loading-margin ;
31
32
}
@@ -39,6 +40,10 @@ ion-infinite-scroll-content {
39
40
// Infinite Scroll Content States
40
41
// --------------------------------------------------
41
42
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 ] {
43
48
display : none ;
44
49
}
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