# skeleton
**Repository Path**: fqcto/skeleton
## Basic Information
- **Project Name**: skeleton
- **Description**: miniprogram to generate the skeleton page automatically
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-11-16
- **Last Updated**: 2021-11-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# miniprogram-skeleton
绘制小程序骨架屏,轻量、方便、快捷
## Use
### 一、安装和引入
#### 1.安装组件:
```
npm install --save miniprogram-skeleton
```
#### 2.引入skeleton自定义组件
```json
{
"usingComponents": {
"skeleton": "../miniprogram_npm/miniprogram-skeleton"
}
}
```
**小程序中npm的配置及使用:**
- 在微信开发者工具中,设置 —> 项目设置—> 勾选使用npm模块。
- 在微信开发者工具中,工具 —> 构建npm,构建完成会生成 `miniprogram_npm` 文件夹,项目用到的npm包都在这里。
- 按照页面的使用路径,从 `miniprogram_npm` 引入需要的包。
### 二、使用骨架屏组件
#### 1.在wxml页面需要用到的地方使用,如下:
```html
{{userInfo.nickName}}
{{item}}
{{motto}}
aaaaaaaaaaa
```
#### 2.在js页面需要用到的地方使用,如下:
```javascript
//index.js
//初始化默认的数据,用于撑开页面结构,让骨架屏可以获取到整体的页面结构
Page({
data: {
motto: 'Hello World',
userInfo: {
avatarUrl: 'https://wx.qlogo.cn/mmopen/vi_32/SYiaiba5faeraYBoQCWdsBX4hSjFKiawzhIpnXjejDtjmiaFqMqhIlRBqR7IVdbKE51npeF6X1cXxtDQD2bzehgqMA/132',
nickName: 'jayzou'
},
lists: [
'aslkdnoakjbsnfkajbfk',
'qwrwfhbfdvndgndghndeghsdfh',
'qweqwtefhfhgmjfgjdfghaefdhsdfgdfh',
],
showSkeleton: true //骨架屏显示隐藏
},
onLoad: function () {
const that = this;
setTimeout(() => { //3S后隐藏骨架屏
that.setData({
showSkeleton: false
})
}, 3000)
}
})
```
## API
| Options | Type | Required | Default | Description |
| ------- | ------ | --------- | --------------- | ------------------------------------------------------------ |
| selector | String | No | skelton | 渲染节点的标识前缀,比如```selector="skeleton"```,那么页面根节点就是```class="skeleton"```绘制矩形就是```class="skeleton-rect"```,圆形就是```class="skeleton-radius"```|
| loading | String | No | spin | 骨架屏渲染时的动画,有`spin`和`chiaroscuro` |
| bgcolor | String | No | \#FFF | 骨架屏背景 |
## Note
业务侧可以自行判断数据是否加载完成,进而隐藏骨架屏,比如
``
以最小节点原则添加相应的class,比如
`这是有margin和padding属性的文案`
这里不要给view添加class,不然绘制区域会大很多,应该改成这样
`这是有margin和padding属性的文案`