收藏
评论

ma-skeleton 小程序骨架屏,利用自动生成骨架屏

小程序骨架屏,利用SelectorQuery自动生成骨架屏

ma-skeleton

小程序骨架屏

Usage

1. 拷贝组件

将此项目中 /demo/components/skeleton文件夹拷贝到你的项目中

2. 引入组件到页面

index.json

{
  "usingComponents": {
    "skeleton": "../../components/skeleton/skeleton"
  }
}

index.wxml

<!-- 引入组件 -->
<skeleton loading="spin" bgcolor="#FFF" selector="skeleton" isDev="true"></skeleton>

3. 添加标识

index.wxml

<!-- 引入组件 -->
<skeleton loading="spin" bgcolor="#FFF" selector="skeleton" isDev="true"></skeleton>

<!-- 标识 skeleton -->
<view class="page skeleton">
  <!-- 矩形元素标识 skeleton-rect -->
  <view class="search-bar skeleton-rect">
    Hello, Search
  </view>
  <view class="userinfo">
    <!-- 圆形元素标识 skeleton-circle -->
    <view class="userinfo__avatar skeleton-circle">
      <open-data type="userAvatarUrl"></open-data>
    </view>
    <view class="userinfo__nickname skeleton-rect">
      <open-data type="userNickName"></open-data>
    </view>
  </view>
</view>

4. 生成骨架屏数据

点击右下角按钮会预览骨架屏,同时在控制台会生成骨架屏数据,这时候想办法保存数据,然后再引入数据,这样就可以得到骨架屏了

生成骨架屏数据

骨架支持的元素

支持的元素类型

type selector name desc
bg .${selector}-bg 圆角矩形淡色样式
rect .${selector}-rect 圆角矩形样式
circle .${selector}-circle 圆形样式

组件支持的属性

// properties
{
  /**
   * 骨架屏数据
   */
  data: {
    type: Object,
    value: null,
  },
  /**
   * 是否是开发模式,如果为true, 则显示生成按钮
   */
  isDev: {
    type: Boolean,
    value: false,
  },
  /**
   * 选择器名字
   */
  selector: {
    type: String,
    value: 'skeleton',
  },
  /**
   * 骨架屏背景
   */
  bgcolor: {
    type: String,
    value: '#FFF',
  },
  /**
   * 骨架屏动画效果,可以是如下值: 'spin', 'chiaroscuro', 'shine'
   */
  loading: {
    type: String,
    value: '',
  },
},

demo

demo

收藏

6 个评论

  • 微凉
    微凉
    2020-07-09

    组件怎么生成骨架屏

    2020-07-09
    赞同
    回复
  • Kweitan
    Kweitan
    2020-03-26

    您好,如果页面是由很多个组件构成的 如何处理

    2020-03-26
    赞同
    回复
  • L
    L
    2019-12-09


    2019-12-09
    赞同
    回复
  • L
    L
    2019-12-09

    大佬, 骨架屏只能手动点击

    2019-12-09
    赞同
    回复
  • 炒饭
    炒饭
    2019-05-27

    > 那什么时候要关闭骨架屏??如何监听setData 的数据已经在页面上完成渲染,


    和loading icon 一样,网络数据请求成功了就关闭骨架屏

    2019-05-27
    赞同
    回复
  • J
    J
    2019-04-23

    那什么时候要关闭骨架屏??如何监听setData 的数据已经在页面上完成渲染,

    2019-04-23
    赞同
    回复
登录 后发表内容