1.1.6 • Published 2 years ago

wx-scroll v1.1.6

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

wx-scroll v1.1 微信小程序上拉加载下拉刷新

v1.1 版

上传至npm包可安装下载并npm构建

前言

基于小程序原生组件scroll-view的扩展与封装,实现简单的上拉加载下拉刷新

npm 安装 安装之后开发者工具点击npm构建

npm i wx-scroll --production

引入

app.jsonindex.json中引入组件

"usingComponents": {
  "wxScroll": "wx-scroll/index"
}

页面结构

<wxScroll class="demo1" option="{{scroll}}" bindrefresh="refresh" bindloadMore="loadMore" bindrefreshPulling="refreshPulling">
  <view slot="refresh">
    <!-- slot 自定义刷新样式 -->
  </view>
  <view class="list-inner" slot="inner">
    <!-- 循环内容 -->
    <view class="item" wx:for="{{list}}" wx:key="unique">
      第{{index + 1}}条内容
    </view>
    <!-- 循环内容 -->
  </view>
  <view slot="loadmore">
    <!-- slot 自定义加载更多样式 -->
  </view>
</wxScroll>

配置 详见api

// data 中配置
scroll: {
  //  设置分页信息
  pagination: {
    current: 1,
    size: 10,
    total: 10
  },
  // 设置数据为空时的图片
  empty: {
    img: '',
    text:'Empty',
  },
  // 设置下拉刷新
  refresh: {
    type: 'default',
    style: 'black',
    background: "#000"
  },
  // 设置上拉加载
  loadmore: {
    type: 'default',
    icon: {
      img:'',//加载图标地址
    },
    background: '#f2f2f2', 
    backgroundImage: '',
    title: {
      show: true,
      text: '加载中',
      color: "#999",
      shadow: 5
    }
  }
},

事件 详见api

// 加载数据
let _this = this
getData:function (type) {
  // 可走后台接口
  if (type == 'refresh') {
    // 刷新时执行
    // 设置页数1
    let scroll = _this.data.scroll
    scroll.pagination.current = 1
  }else{
    // 加载时执行
    // 设置页数+1
    let scroll = _this.data.scroll
    scroll.pagination.current = scroll.pagination.current + 1

    // 数据加载完隐藏loadmore
    _this.selectComponent(".demo1").loadEnd()
  }
},
// 下拉 刷新 页数设置1
refresh: function () {
  this.getData('refresh')
},
// 上拉 加载 页数设置+1
loadMore: function () {
  this.getData('loadMore')
},
// 自定义下拉刷新时执行 插槽下拉 返回的下拉进度p
refreshPulling: function (e) {
  let scroll = this.data.scroll
  scroll.refresh.p = e.detail.p
  this.setData({
    scroll: scroll
  });
},

API

Props

scrollOption 配置详情api

  1. 分页设置 pagination

    参数说明类型默认值版本
    current页码Number1v1.1
    total总页码数Number0v1.1
    size每页显示个数Number0v1.1
  2. 空设置 empty

    参数说明类型默认值版本
    img数据为空时显示的图片String | v1.1
    text数据为空时显示的文字String暂无数据v1.1
  3. 下拉刷新设置 refresh

    参数说明类型默认值版本
    type下拉样式类型,小程序默认样式或自定义 支持 default custom 定义custom注意在wxml写自定义slot样式,否则可能为空白Stringdefaultv1.1
    primordialLoading导航栏是否显示加载状态 true falseBooleanfalsev1.1
    style默认模式下样式有深色和浅色 支持 black whiteStringblackv1.1
    background下拉刷新区域背景色String#eeeeeev1.1
    backgroundImage自定义下拉背景图片Stringv1.1
    custom是否为slot自定义,true,falseBooleanfalsev1.1
    p自定义custom为true时,下拉的百分比方便自定义动画,设置0即可Number0v1.1
    icon刷新时设置图标地址Objectv1.1
    refreshthreshold自定义下拉高度Numberv1.1
    title自定义下拉文字 可设置 show: 是否显示, text: 文字内容, color: 文字颜色, shadow: 文字阴影范围(0时不显示)Objv1.1
  4. 上拉加载设置 loadmore

    参数说明类型默认值版本
    type上拉样式类型,默认样式或插槽自定义 支持 default custom 定义custom注意在wxml写自定义slot样式,否则可能为空白Stringdefaultv1.1
    icon加载时设置图标Object | v1.1
    background上拉加载区域背景色String#eeeeeev1.1
    backgroundImage上拉加载区域背景图片Stringv1.1
    title默认样式时设文字 可设置 show: 是否显示, text: 文字内容, color: 文字颜色, shadow: 文字阴影范围(0时不显示)Objv1.1
  5. 回到顶部 scrollTop

    参数说明类型默认值版本
    show是否显示回到顶部按钮 true falseBooleanfalsev1.1
    width按钮宽度String100rpxv1.1
    height按钮高度String100rpxv1.1
    left按钮距左边距离Stringautov1.1
    right按钮距右边距离String80rpxv1.1
    top按钮距顶部距离Stringautov1.1
    bottom按钮距底部距离String80rpxv1.1
    backgroundColor背景色String#2c76e4v1.1
    color按钮文字颜色String#ffffffv1.1
    text按钮文字StringTopv1.1

Slot

名称说明版本
inner加载列表内容区域v1.1
refresh下拉自定义结构v1.1
loadmore上拉自定义结构v1.1

Events

事件名说明参数版本
bind:refresh下拉刷新成功时触发-v1.1
bind:loadMore上拉加载成功时触发event.detail: 当前输入值v1.1
bind:refreshPulling下拉时触发event.detail.p: 下拉进度 从0开始到1, 可根据p实现一些动画效果v1.1
bind:onScroll滑动时触发v1.1

Methods

事件名说明参数版本
loadEnd下拉刷新成功时调用关闭loadmore显示,用法 this.selectComponent(".demo1").loadEnd()-v1.1
1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago