uView LoadMore 加载更多

简介: uView LoadMore 加载更多

此组件一般用于标识页面底部加载数据时的状态,共有三种状态:

  • 加载前,显示"加载更多",加入点击可选,是因为数据不够一页时,无法触发页面的onReachBottom生命周期
  • 加载中,显示"正在加载...",2种动画可选
  • 加载后,如果还有数据,回到"加载前"状态,否则加载结束,显示"没有更多了"

#平台差异说明

App(vue) App(nvue) H5 小程序

#基本使用

  • 通过status设置组件的状态,加载前值为loadmore,加载中为loading,没有数据为nomore

注意:以下示例仅为模拟效果,实际中请根据自己的逻辑,修改代码的实现

<template>
  <view class="wrap">
    <view class="item u-border-bottom" v-for="(item, index) in list" :key="index">
      {{'第' + item + '条数据'}}
    </view>
    <u-loadmore :status="status" />
  </view>
</template>
<script>
  export default {
    data() {
      return {
        status: 'loadmore',
        list: 15,
        page: 0
      }
    },
    onReachBottom() {
      if(this.page >= 3) return ;
      this.status = 'loading';
      this.page = ++ this.page;
      setTimeout(() => {
        this.list += 10;
        if(this.page >= 3) this.status = 'nomore';
        else this.status = 'loading';
      }, 2000)
    }
  }
</script>
<style lang="scss" scoped>
  .wrap {
    padding: 24rpx;
  }
  
  .item {
    padding: 24rpx 0;
    color: $u-content-color;
    font-size: 28rpx;
  }
</style>

copy

#控制组件的提示以及动画效果

  • 如果不需要图标,可以设置iconfalse
  • 可以设置is-dottrue,在没有数据时,内容显示为一个"●"替代默认的"没有更多了"
  • 可以通过配置loading-text配置提示的文字,该参数为一个对象值,可以修改默认的文字提示,见如下:
<template>
  <u-loadmore 
        :status="status" 
        :loading-text="loadingText" 
        :loadmore-text="loadmoreText" 
        :nomore-text="nomoreText" 
    />
</template>
<script>
  export default {
    data() {
      return {
        status: 'loadmore',
                loadingText: '努力加载中',
                loadmoreText: '轻轻上拉',
                nomoreText: '实在没有了'
      }
    }
  }
</script>

copy

#线条自定义颜色和设置为虚线 2.0.32

  • 可以通过配置dashedlineColor实现,见如下:
<template>
  <u-loadmore 
        loadmoreText="看,我和别人不一样"
        color="#1CD29B"
        lineColor="#1CD29B"
        dashed
        line
    />
</template>
<script>
  export default {
    data() {
      return {
        status: 'loadmore',
        loadingText: '努力加载中',
        loadmoreText: '轻轻上拉',
        nomoreText: '实在没有了'
      }
    }
  }
</script>

copy

#手动触发加载更多

有时候可能会因为网络,或者数据不满一页的原因,导致无法上拉触发onReachBottom生命周期,这时候(需statusloadmore状态),用户点击组件,就会触发loadmore 事件,可以在回调中,进行状态的控制和数据的加载,同时也可以修改loadTextloadmore为"上拉或点击加载更多"进行更加人性化的提示

相关文章
|
6月前
|
移动开发 前端开发 JavaScript
uView LoadingIcon 加载动画
uView LoadingIcon 加载动画
104 1
|
6月前
|
移动开发 JavaScript 小程序
uView Tabbar 底部导航栏
uView Tabbar 底部导航栏
178 0
|
6月前
|
移动开发 JavaScript 小程序
uView Popup 弹出层
uView Popup 弹出层
103 0
uniapp上拉加载更多
uniapp上拉加载更多
206 0
|
JavaScript 前端开发 容器
Vue antdv 下拉菜单不跟着滚动走(getPopupContainer 使用)
Vue antdv 下拉菜单不跟着滚动走(getPopupContainer 使用)
1104 0
|
JavaScript
vue可拖拽悬浮按钮组件
vue封装一个可拖拽,贴边吸附的悬浮按钮组件。
2027 0
vue可拖拽悬浮按钮组件
uniapp遮罩层穿透问题,uview遮罩层组件,uview的actionSheet组件.鼠标穿透,uview组件u-popup遮罩滚动穿透问题
uniapp遮罩层穿透问题,uview遮罩层组件,uview的actionSheet组件.鼠标穿透,uview组件u-popup遮罩滚动穿透问题
503 0
|
3月前
|
移动开发 资源调度 JavaScript
Vue2使用触摸滑动插件(Swiper)
这篇文章介绍了在Vue 3框架中如何使用Swiper插件来创建不同类型的触摸滑动组件,包括轮播图、淡入淡出效果和走马灯效果,并提供了详细的配置选项和使用示例。
351 1
Vue2使用触摸滑动插件(Swiper)
|
3月前
|
JavaScript API UED
Vue3使用触摸滑动插件(Swiper)
本文介绍如何在Vue2项目中使用Swiper插件实现触摸滑动功能,并封装了两种轮播图展示形式:首页轮播图(`type: banner`)和走马灯轮播图(`type: carousel`),以及信息展播模式(`type: broadcast`)。支持自定义轮播图片、区域尺寸、动画效果等属性。通过示例代码展示了不同切换动画及自定义效果,并提供了在线预览。适用于多种应用场景,提升用户体验。
Vue3使用触摸滑动插件(Swiper)
【1】ElementUI 组件实际应用===》按钮的使用
这篇文章详细介绍了Element UI库中的按钮组件的使用方法,包括基础用法、禁用状态、文字按钮、图标按钮、按钮组、加载中状态、不同尺寸的按钮以及按钮的属性说明。文章通过实例代码展示了如何定义按钮样式、添加图标、设置按钮尺寸和类型,并解释了如何绑定方法到按钮以执行操作。