weex 自定义list 的下拉刷新和加载更多,WXComponent 有时候显示,有时候不显示

1.code:
registerComponent("loading-indicator", WXRefreshIndicator.class);
registerComponent("loading-indicator-more", WXLoadingIndicatorLoadMore.class);

js代码:
<template>

<list style="width: 750px;height:{{tableHeight}}; background-color: #eeeeee;">
    <refresh class="refresh-view" display="{{refresh_display}}" onrefresh="onrefresh">
        <loading-indicator class="indicator"></loading-indicator>
    </refresh>

    <loading id="loadmore" class="loading-view" display="{{loading_display}}" onloading="onloading" >
        <loading-indicator-more if="{{showLoading}}" class="indicator_more" backgroundColor='#ffffff'></loading-indicator-more>
    </loading>
</list>

</template>
分别自定义了list的下拉刷新和加载更多,正常情况下回显示。

2.不显示的情况是这样的:
2.1.我们app需要登录后才能显示某个tab页面,这个tab页面是用weex做的,提货是weex做的,其他都是原生的
2.2用户退出后,在重新登录,这样的话提货的这个下拉刷新和加载更多不显示了,重新开启app才可以显示。

3.图片:
3.1 正常显示

clipboard.png

3.2 不显示

clipboard.png

阅读 4.5k
评论 2017-05-15 提问
    3 个回答
    评论 赞赏 2017-05-16

      我把loading都换成了 loadmore方法去出发,这两个组件Android上的表现比iOS的好太多了。

      评论 赞赏 2017-05-17
        eslyz
        • 4
        • 新人请关照
        <div>
              <list class="list">
                <refresh class="refresh" @refresh="onrefresh" @pullingdown="onpullingdown" :display="isRefresh ? 'show' : 'hide'">
                  <image class="image-indicator" :src="loadingIndicatorImg"></image>
                  <text class="loading-text">正在刷新...</text>
                </refresh>
                <cell v-for="spu in spuViews">
                  <div class="spu-item-wrapper">
                    <image class="spu-image" :src="spu.spuImg"></image>
                    <div class="item-right-info-container">
                      <text class="spu-name-text">{{spu.spuName}}</text>
                      <text class="spu-item-store-name-text">{{spu.storeName}}</text>
                      <div class="spu-item-right-bottom-container">
                        <text class="price-integer-text">¥{{spu.spuPrice}}</text>
                        <text class="spu-unit-text">/{{spu.spuUnit}}</text>
                        <text class="spu-sales-text">{{spu.salesNum}}</text>
                      </div>
                    </div>
                  </div>
                </cell>
                <loading class="loading" @loading="onloading" :display="showLoading ? 'show': 'hide'">
                  <image class="image-indicator" :src="loadingIndicatorImg"></image>
                  <text class="loading-text">加载更多...</text>
                </loading>
              </list>
            </div>

        加载的方法

        onloading:function () {
                var self = this
                self.showLoading = true
                setTimeout(function () {
                  let spuItem = {
                    spuImg:'http://fauna-test.b0.upaiyun.com/goods/170/103/092/170103092949_049_29.jpg',
                    spuName:'加载更多的数据',
                    spuPrice:10.0000,
                    spuUnit:'个',
                    storeName:'2500门店',
                    salesNum:"销量99900个",
                    shipFee:'Y'
                  }
                  self.spuViews.push(spuItem)
                  // 主要是这里,如果放在外面就无法更新状态
                  self.showLoading = false
                }, 300)
              },
        评论 赞赏 2017-07-31
          撰写回答

          登录后参与交流、获取后续更新提醒