离子拉动(复习)元素内部

时间:2017-08-30 17:00:58

标签: angular ionic-framework ionic2 ionic3 ionic-native

是否可以在元素内部而不是在整个页面上实现Ionic's pull to refresh (aka "Refresher")

在设计页面中具有较小可滚动部分的应用时,这将非常有用。使用当前行为,整个页面被拉下来而不仅仅是可滚动元素。

4 个答案:

答案 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>

另外请检查图像,只有蓝色内容部分将在离子复习下。其他部分将在复习之外。

enter image description here

答案 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>