2.0.4 • Published 3 years ago

taro-skeleton v2.0.4

Weekly downloads
17
License
MIT
Repository
github
Last release
3 years ago

Skeleton 骨架屏

基于 Taro 的一个简单易用的骨架屏组件

2.0版本以上支持 Taro3.0

支持多端平台使用

  1. 微信小程序
  2. h5
  3. 百度小程序
  4. 头条小程序
  5. 支付宝小程序
  6. 其它平台未测试

快速上手

引入组件

import Skeleton from 'taro-skeleton'

引入组件样式的方式

  • 全局引入(JS中)
import 'taro-skeleton/dist/index.css' // 引入组件样式

配置需要额外编译的源码模块

由于引用 node_modules 的模块,默认不会编译,所以需要额外给 H5 配置 esnextModules,在 taro 项目的 config/index.js 中新增如下配置项:

h5: {
  esnextModules: ['taro-skeleton']
}

代码演示

基础用法

通过title属性显示标题占位图,通过row属性配置占位段落行数

<Skeleton title row={3} />

显示头像

通过avatar属性显示头像占位图

<Skeleton title avatar row={3} />

不同排列方式

通过type属性来控制排列方式,默认值为 row,可选column

<Skeleton type='column' title titleWidth={'80%'} avatar />

自定义样式

通过添加自定义className类名进行覆盖即可`

// index.scss
.custom-class { 
  .skeleton-avatar, .skeleton-row, .skeleton-title {
    background-color: red;
  }
}
// index.jsx
<Skeleton className='custom-class' row={1} rowProps={[{
  width: '50%',
  height: '50px'
}]} avatar
></Skeleton>

展示子组件

loading属性设置成false表示内容加载完成,此时会隐藏占位图,并显示Skeleton的子组件

<Skeleton
  title
  avatar
  row={3}
  loading={loading}
>
  <Text>实际内容</Text>
</Skeleton>
export default class Index extends Component {
  state = {
    loading: false
  }
  render () {
    return (
      <View className='index'>
        <Skeleton loading={this.state.loading} title avatar row={2} action></Skeleton>
      </View>
    )
  }
}

效果截图

image.gif

API

Props

参数说明类型默认值版本
type定义排列方式row/columnrow1.0.12
row段落占位图行数number0-
rowWidth段落占位图宽度,可传数组来设置每一行的宽度number/string/number[]/string[]100%-
rowHeight段落占位图高度,可传数组来设置每一行的高度number/string/number[]/string[]241.0.7
rowProps用于定制 row 的宽跟高,可传数组来设置每一行的宽跟高,如果配置了该属性,则 row-height 配置无效RowProps/RowProps[]-1.0.7
title是否显示标题占位图booleanfalse-
titleWidth标题占位图宽度number/string40%-
avatar是否显示头像占位图booleanfalse-
avatarSize头像占位图大小number/string90-
avatarShape头像占位图形状,可选值为squarestringround-
action显示右边操作按钮占位图booleanfalse-
loading是否显示占位图,传false时会展示子组件内容booleantrue-
animate是否开启动画booleantrue-
animateName动画类型,可选值为elasticstringblink1.3.9
contentAlignStyle内部内容对齐方式,可选值为left/center/rightcenter1.4.0
designWidthTaro.pxTransform(px, designWidth) 的designWidth的属性number7502.0.0

RowProps

参数说明类型默认值版本
width段落占位图宽数number/string--
height段落占位图高度number/string--

更新日志

2.0.4

3 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.13

4 years ago

1.0.12

5 years ago

1.0.11-0

5 years ago

1.0.10

5 years ago

1.0.9-2

5 years ago

1.0.9-1

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago