mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-23 14:01:20 +08:00
chore(infinite-scroll): move infinite-scroll-content to separate directory
This commit is contained in:
2
packages/core/src/components.d.ts
vendored
2
packages/core/src/components.d.ts
vendored
@ -1053,7 +1053,7 @@ declare global {
|
||||
|
||||
import {
|
||||
InfiniteScrollContent as IonInfiniteScrollContent
|
||||
} from './components/infinite-scroll/infinite-scroll-content';
|
||||
} from './components/infinite-scroll-content/infinite-scroll-content';
|
||||
|
||||
declare global {
|
||||
interface HTMLIonInfiniteScrollContentElement extends IonInfiniteScrollContent, HTMLElement {
|
||||
|
@ -1,9 +1,7 @@
|
||||
import { Component, Prop } from '@stencil/core';
|
||||
import { Config } from '../../index';
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
*/
|
||||
|
||||
@Component({
|
||||
tag: 'ion-infinite-scroll-content'
|
||||
})
|
@ -0,0 +1,35 @@
|
||||
# ion-infinite-scroll-content
|
||||
|
||||
|
||||
|
||||
<!-- Auto Generated Below -->
|
||||
|
||||
|
||||
## Properties
|
||||
|
||||
#### loadingSpinner
|
||||
|
||||
string
|
||||
|
||||
|
||||
#### loadingText
|
||||
|
||||
string
|
||||
|
||||
|
||||
## Attributes
|
||||
|
||||
#### loadingSpinner
|
||||
|
||||
string
|
||||
|
||||
|
||||
#### loadingText
|
||||
|
||||
string
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
|
||||
*Built by [StencilJS](https://stenciljs.com/)*
|
@ -1,4 +1,4 @@
|
||||
# ion-infinite-scroll-content
|
||||
# ion-infinite-scroll
|
||||
|
||||
The Infinite Scroll allows you to perform an action when the user
|
||||
scrolls a specified distance from the bottom or top of the page.
|
||||
@ -11,13 +11,13 @@ on the infinite scroll instance.
|
||||
```html
|
||||
<ion-content>
|
||||
|
||||
<ion-list>
|
||||
<ion-list>
|
||||
<ion-itemngFor="let i of items">{% raw %}{{i}}{% endraw %}</ion-item>
|
||||
</ion-list>
|
||||
</ion-list>
|
||||
|
||||
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
|
||||
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
|
||||
<ion-infinite-scroll-content></ion-infinite-scroll-content>
|
||||
</ion-infinite-scroll>
|
||||
</ion-infinite-scroll>
|
||||
|
||||
</ion-content>
|
||||
```
|
||||
@ -25,15 +25,15 @@ on the infinite scroll instance.
|
||||
```ts
|
||||
@Component({...})
|
||||
export class NewsFeedPage {
|
||||
items = [];
|
||||
items = [];
|
||||
|
||||
constructor() {
|
||||
constructor() {
|
||||
for (let i = 0; i < 30; i++) {
|
||||
this.items.push( this.items.length );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
doInfinite(infiniteScroll) {
|
||||
doInfinite(infiniteScroll) {
|
||||
console.log('Begin async operation');
|
||||
|
||||
setTimeout(() => {
|
||||
@ -44,11 +44,12 @@ export class NewsFeedPage {
|
||||
console.log('Async operation has ended');
|
||||
infiniteScroll.complete();
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## `waitFor` method of InfiniteScroll
|
||||
|
||||
In case if your async operation returns promise you can utilize
|
||||
@ -57,13 +58,13 @@ In case if your async operation returns promise you can utilize
|
||||
```html
|
||||
<ion-content>
|
||||
|
||||
<ion-list>
|
||||
<ion-list>
|
||||
<ion-itemngFor="let item of items">{{item}}</ion-item>
|
||||
</ion-list>
|
||||
</ion-list>
|
||||
|
||||
<ion-infinite-scroll (ionInfinite)="$event.waitFor(doInfinite())">
|
||||
<ion-infinite-scroll (ionInfinite)="$event.waitFor(doInfinite())">
|
||||
<ion-infinite-scroll-content></ion-infinite-scroll-content>
|
||||
</ion-infinite-scroll>
|
||||
</ion-infinite-scroll>
|
||||
|
||||
</ion-content>
|
||||
```
|
||||
@ -71,15 +72,15 @@ In case if your async operation returns promise you can utilize
|
||||
```ts
|
||||
@Component({...})
|
||||
export class NewsFeedPage {
|
||||
items = [];
|
||||
items = [];
|
||||
|
||||
constructor() {
|
||||
constructor() {
|
||||
for (var i = 0; i < 30; i++) {
|
||||
this.items.push( this.items.length );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
doInfinite(): Promise<any> {
|
||||
doInfinite(): Promise<any> {
|
||||
console.log('Begin async operation');
|
||||
|
||||
return new Promise((resolve) => {
|
||||
@ -92,10 +93,11 @@ export class NewsFeedPage {
|
||||
resolve();
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Infinite Scroll Content
|
||||
|
||||
By default, Ionic uses the infinite scroll spinner that looks
|
||||
@ -103,8 +105,8 @@ best for the platform the user is on. However, you can change the
|
||||
default spinner or add text by adding properties to the
|
||||
`ion-infinite-scroll-content` component.
|
||||
|
||||
```html
|
||||
<ion-content>
|
||||
```html
|
||||
<ion-content>
|
||||
|
||||
<ion-infinite-scroll (ionInfinite)="doInfinite($event)">
|
||||
<ion-infinite-scroll-content
|
||||
@ -113,8 +115,8 @@ default spinner or add text by adding properties to the
|
||||
</ion-infinite-scroll-content>
|
||||
</ion-infinite-scroll>
|
||||
|
||||
</ion-content>
|
||||
```
|
||||
</ion-content>
|
||||
```
|
||||
|
||||
|
||||
## Further Customizing Infinite Scroll Content
|
||||
@ -133,28 +135,48 @@ You could replace our default content with custom SVG or CSS animations.
|
||||
|
||||
## Properties
|
||||
|
||||
#### loadingSpinner
|
||||
#### enabled
|
||||
|
||||
boolean
|
||||
|
||||
|
||||
#### position
|
||||
|
||||
string
|
||||
|
||||
|
||||
#### loadingText
|
||||
#### threshold
|
||||
|
||||
string
|
||||
|
||||
|
||||
## Attributes
|
||||
|
||||
#### loadingSpinner
|
||||
#### enabled
|
||||
|
||||
boolean
|
||||
|
||||
|
||||
#### position
|
||||
|
||||
string
|
||||
|
||||
|
||||
#### loadingText
|
||||
#### threshold
|
||||
|
||||
string
|
||||
|
||||
|
||||
## Events
|
||||
|
||||
#### ionInfinite
|
||||
|
||||
|
||||
## Methods
|
||||
|
||||
#### complete()
|
||||
|
||||
|
||||
|
||||
----------------------------------------------
|
||||
|
||||
|
2
packages/core/src/index.d.ts
vendored
2
packages/core/src/index.d.ts
vendored
@ -49,7 +49,7 @@ export {
|
||||
export { Grid } from './components/grid/grid';
|
||||
export { Header } from './components/header/header';
|
||||
export { InfiniteScroll } from './components/infinite-scroll/infinite-scroll';
|
||||
export { InfiniteScrollContent } from './components/infinite-scroll/infinite-scroll-content';
|
||||
export { InfiniteScrollContent } from './components/infinite-scroll-content/infinite-scroll-content';
|
||||
export { Input } from './components/input/input';
|
||||
export { Item } from './components/item/item';
|
||||
export { ItemDivider } from './components/item-divider/item-divider';
|
||||
|
Reference in New Issue
Block a user