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

发布于 2022-09-05 08:01:55 字数 1317 浏览 43 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

罪歌 2022-09-12 08:01:55

参考我这个答案 https://segmentfault.com/q/10...
不过,目前还是发现refresh有其他的小问题.

巨坚强 2022-09-12 08:01:55

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

圈圈圆圆圈圈 2022-09-12 08:01:55
<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)
      },
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文