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

阅读 7.8k
3 个回答

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

新手上路,请多包涵
<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)
      },
宣传栏