是否可以在元素内部而不是在整个页面上实现Ionic's pull to refresh (aka "Refresher")?
在设计页面中具有较小可滚动部分的应用时,这将非常有用。使用当前行为,整个页面被拉下来而不仅仅是可滚动元素。
答案 0 :(得分:7)
您可以使用离子滚动来完成。示例代码如下:
<ion-content>
<div class="row">
<p class="col-sm-12">This text will display on top</p>
</div>
<div class="row">
<div class="col-sm-6">
<ion-scroll>
<ion-refresher>
</ion-refresher>
<p class="col-sm-12">This text will be under ion-refresher pull refresh</p>
</ion-scroll>
</div>
<div class="col-sm-6">
<p class="col-sm-12">This text will display on center right</p>
</div>
</div>
<div class="row">
<p class="col-sm-12">This text will display on bottom</p>
</div>
<ion-content>
另外请检查图像,只有蓝色内容部分将在离子复习下。其他部分将在复习之外。
答案 1 :(得分:5)
实际上你可以做到这一点,但它更像是一种解决方法,而不是一个非常好的解决方案。
ion-refresher
个组件只能在ion-content
中使用。
因此,您可以在页面中放置另一个ion-content
。
<ion-content padding>
<div>
<!-- Your other content -->
</div>
<!-- Additional ion-content -->
<ion-content>
<!-- Your inline ion-refresher -->
<ion-refresher></ion-refresher>
</ion-content>
</ion-content>
您需要将每个ion-refresher
放入新的ion-content
,因为ion-refresher
组件将放在scroll-content
容器的末尾,该容器在{ {1}}。
请注意,您无法在页面ion-content
中使用整页ion-refresher
,因为当您尝试拉出时,两者都会被执行在页面ion-refresher
中:
ion-refresher
答案 2 :(得分:3)
您是否在您的部分离子内容中尝试了离子滚动并将清新内容放入?
答案 3 :(得分:3)
你的意思是这样吗?
<div id='smaller-scrollable-section'>
<ion-content>
<ion-refresher (ionRefresh)="doRefresh($event)">
<ion-refresher-content></ion-refresher-content>
</ion-refresher>
<ion-list>
<ion-item *ngFor="let item of collection">
</ion-item>
</ion-list>
<ion-infinite-scroll (ionInfinite)="fetchMore($event)">
<ion-infinite-scroll-content></ion-infinite-scroll-content>
</ion-infinite-scroll>
</ion-content>
</div>