请选择 进入手机版 | 继续访问电脑版
查看: 336|回复: 0

微信小程序 MinUI 组件库系列之 loading 加载提示组件

[复制链接]

1306

主题

1306

帖子

4336

积分

超级版主

Rank: 8Rank: 8

积分
4336
发表于 2018-1-31 16:53:15 | 显示全部楼层 |阅读模式
本帖最后由 Ywenli 于 2018-1-31 17:10 编辑

MinUI 是基于微信小程序自定义组件特性开发而成的一套简洁、易用、高效的组件库,适用场景广,覆盖小程序原生框架、各种小程序组件主流框架等,并且提供了高效的命令行工具。MinUI 组件库包含了很多功能组件,其中 loading 加载提示组件是一个很常用的功能性组件, MinUI 中 loading 组件的效果图如下:

是不是看起来很方便很快捷的样子(^_^)。可以打开微信扫一扫下面的小程序二维码先一睹为快:

下面介绍 loading 组件的使用方式。
1、使用下列命令安装 Min-Cli,如已安装,请进入到下一步。Min-Cli 的文档请猛戳这里:Min-Cli使用手册
  1. npm install -g @mindev/min-cli
复制代码
2、初始化一个小程序项目。
  1. min init my-project
复制代码
选择 新建小程序 选项,即可初始化一个小程序项目。创建项目后,在编辑器中打开项目,src 目录为源码目录,dist 目录为编译后用于在微信开发者工具中指定的目录。新建的项目中已有一个 home 页面。详细文档:Min 初始化小程序项目
3、安装 loading 组件。

进入刚才新建的小程序项目的目录中:
  1. cd my-project
复制代码
安装组件:
  1. min install @minui/wxc-loading
复制代码
4、开启dev。
  1. min dev
复制代码
开启之后,修改源码后都会重新编译。
5、在页面中引入组件。

在编辑器中打开 src/pages 目录下的 home/index.wxp 文件,在 script 中添加 config 字段,配置小程序自定义组件字段,代码如下:
  1. export default {
  2.     config: {
  3.         "usingComponents": {
  4.             'wxc-loading': "@minui/wxc-loading"
  5.         }
  6.     }
  7. }
复制代码
wxc-loading 即为加载提示组件的标签名,可以在 wxml 中使用。
6、在 wxml 中使用 wxc-loading标签。
在 home/index.wxp 文件的 template 中添加 wxc-loading 标签,代码如下:
  1. <wxc-loading
  2.     is-show="{{$loading.isShow}}"
  3.     type="mall"
  4.   ></wxc-loading>
复制代码
home/index.wxp 文件的代码如下所示:
  1. <!-- home/index.wxp -->
  2. <template>
  3.   <wxc-loading
  4.     is-show="{{$loading.isShow}}"
  5.     type="mall"
  6.   ></wxc-loading>
  7.   <button bindtap="showLoading">设置 type</button>
  8. </template>

  9. <script>
  10. export default {
  11.   config: {
  12.     usingComponents: {
  13.       'wxc-loading': '@minui/wxc-loading'
  14.     }
  15.   },
  16.   data: {
  17.     $loading: {
  18.       isShow: false
  19.     }
  20.   },
  21.   showLoading() {
  22.       this.setData({
  23.         $loading: {
  24.           isShow: true
  25.         }
  26.       })
  27.       setTimeout(() => {
  28.         this.setData({
  29.           $loading: {
  30.             isShow: false
  31.           }
  32.         })
  33.       }, 1000)
  34.     }
  35. }
  36. </script>

  37. <style>
  38. </style>
复制代码
7、打开微信开发者工具,指定 dist 目录,预览项目。
图示:
至此,minui 组件库的 loading 加载提示组件在 Min 工具生成的小程序项目中的方法已介绍完毕,其他场景,在原生小程序或其他小程序框架项目中的使用方式请移步至如下链接:
在已有小程序项目中使用 MinUI 组件介绍
了解组件的使用方式后,下面开始介绍 loading 组件的 API 。
Loading【props】
[td]
名称
描述
is-show[说明]:loading的显示控制属性。
[类型]:String
[默认值]:false
type[说明]:样式类型。type的优先级低于 image, slip。
[类型]:String
[默认值]:"mgj"
[可选值]:
mgj(蘑菇街女装精选 loading 样式),
mall(企鹅微商城 loading 样式)
image[说明]:loading主背景图, 必须与slip同时指定。
[类型]:String
[默认值]:""
slip[说明]:loading动画背景图,必须与image同时指定。
[类型]:String
[默认值]:""
Loading【methods】
[td]
名称
描述
show[说明]:显示loading。
[类型]:Function
[参数]:void
[返回]:void
hide[说明]:隐藏loading。
[类型]:Function
[参数]:void
[返回]:void
更多demo
1、自定义数据
  1. <template>
  2.   <wxc-loading
  3.     is-show="{{$loading.isShow}}"
  4.     image="https://s10.mogucdn.com/mlcdn/c45406/170607_5241335cb37ka3ab7781ddh504ggh_200x200.png"
  5.     slip="http://s10.mogucdn.com/p1/160715/upload_ifrgmmzwmyydknldhezdambqmeyde_200x200.png"
  6.   ></wxc-loading>
  7.   <button bindtap="showLoading">自定义图片</button>
  8. </template>

  9. <script>
  10.   export default {
  11.     config: {
  12.       usingComponents: {
  13.         'wxc-loading': '@minui/wxc-loading'
  14.       }
  15.     },
  16.     data: {
  17.       $loading: {
  18.         isShow: false
  19.       }
  20.     },
  21.     showLoading() {
  22.         this.setData({
  23.           $loading: {
  24.             isShow: true
  25.           }
  26.         })
  27.         setTimeout(() => {
  28.           this.setData({
  29.           $loading: {
  30.             isShow: false
  31.           }
  32.         })
  33.       }, 1000)
  34.     }
  35.   }
  36. </script>

  37. <style>
  38. </style>
复制代码
图示:
2、调用组件方法
  1. <template>
  2.     <wxc-loading
  3.         class="J_loading"
  4.         type="mall"
  5.     ></wxc-loading>
  6.     <button bindtap="showLoading">调用 show() 方法</button>
  7. </template>

  8. <script>
  9.   export default {
  10.     config: {
  11.       usingComponents: {
  12.         'wxc-loading': '@minui/wxc-loading'
  13.       }
  14.     },
  15.     data: {},
  16.     showLoading() {
  17.         let $loading = this.selectComponent('.J_loading')
  18.         $loading && $loading.show()

  19.         setTimeout(() => {
  20.           $loading && $loading.hide()
  21.         }, 2000)
  22.      }
  23.   }
  24. </script>

  25. <style>
  26. </style>
复制代码
图示:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

快速回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 扫码关注微信二维码 返回顶部 返回列表