这是一个react组件库,里面包含Toast组件、数字滚动NumberAnimation组件(老虎机效果)、图片懒加载LazyImage组件、Loading组件、Popup弹出层组件、Collapse折叠面板组件、数字动画组件、List组件,支持ts类型检查。
安装
npm install lei-react-lib
Popup组件的参数:
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
showPop | boolean | false | 是否显示Popup组件 | 是 |
popCallBack | function | () => {} | Popup组件的关闭方法 | 是 |
bgColor | 字符串类型 | rgba(0,0,0,0.8) | Popup组件的背景色 | 否 |
clickClose | boolean | false | 点击遮罩是否关闭 | 否 |
showClose | boolean | false | 是否显示关闭按钮 | 否 |
animPos | 字符串类型 | Bottom | Popup组件弹出位置,可选值Left、Top、Bottom、Right | 否 |
isAutoClose | boolean | false | Popup组件是否自动关闭 | 否 |
duration | number | 2500 | Popup组件自动关闭时间 | 否 |
children | ReactNode | | Popup组件中包含的内容 | 是 |
// 例子
import { Popup } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/index.css'
<Popup
showPop={isshow}
popCallBack={() => {}}
bgColor="rgba(0,0,0,0.8)"
clickClose={true}
showClose={true}
animPos="Bottom"
isAutoClose={true}
duration={2500}
>
<div>这是内容</div>
</Popup>
Collapse组件的参数:
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
isOpen | boolean | false | 是否显示Collapse组件内容 | 是 |
children | ReactNode | | Collapse组件中包含的内容 | 是 |
// 例子
import { Collapse } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/index.css'
<Collapse isOpen={isshow}>
<div>这是内容</div>
</Collapse>
CountTo组件(须版本 >= 0.0.5):
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
start | number | 0 | 动画开始值 | 是 |
end | number | 100 | 动画结束值 | 是 |
duration | number | 2500 | 动画持续时间 | 否 |
decimals | number | 0 | 展示的小数位数,如果传了decimals,则以该值为准,否则会取endVal的小数位数 | 否 |
onEnd | function | () => {} | 动画结束回调函数 | 否 |
isFormat | boolean | true | 是否进行千分位转化 | 否 |
formatNumber | function | (num) => num.toLocaleString() | 千分位转化函数,默认使用toLocaleString ,仅在isFormat 为true 时生效,可自定义格式化函数 | 否 |
// 例子
import { CountTo } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/index.css'
<CountTo start={10.45} isFormat={false} duration={1200} end={5080.89} />
List组件(须版本 >= 0.0.8):
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
items | Array | | 列表数据源 | 是 |
height | Number | 页面可视区域的高 | 列表高度 | 否 |
buffer | Number | 10 | 提前加载数据量 | 否 |
itemHeight | Number | | 列表项高度 | 是 |
loadMore | function | | 滚动到底部加载更多数据的回调 | 否 |
renderItem | function | | 列表项渲染函数 | 是 |
noText | String | 暂无数据 敬请期待~ | 数据列表为空时的提示文案 | 否 |
noImg | String | | 数据列表为空时的提示图片 | 否 |
noMore | String | ---我也是有底线的--- | 数据列表加载完毕时的提示文案 | 否 |
hasNext | Boolean | true | 是否有下一页数据 | 是 |
// 例子
import { VirtualList } from 'lei-react-lib'
import type { ListItemProps } from "lei-react-lib";
import 'lei-react-lib/dist/assets/index.css'
const [data, setdata] = useState<ListItemProps[]>([]);
const [hasNext, sethasNext] = useState<boolean>(true);
<VirtualList
items={data}
itemHeight={50}
renderItem={(item, index) => <div>{item.name}</div>}
hasNext={hasNext}
loadMore={() => {}}
/>
Toast组件(须版本 >= 0.0.9):
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
message | String | | 显示的toast内容 | 是 |
duration | Number | 1800 | toast显示时间 | 否 |
onClose | function | | toast关闭回调函数 | 否 |
// 例子
import { Toast } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/index.css'
Toast({
message: '这是一条toast'
})
Toast({
message: '这是一条toast',
duration: 2000,
onClose: () => {}
})
Loading组件(须版本 >= 0.0.9):
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
text | String | 加载中... | loading组件显示的文字 | 否 |
color | String | #0094ff | loading组件显示的文字颜色 | 否 |
bgColor | String | transparent | loading组件的背景色 | 否 |
Loading组件的事件:
方法名 | 说明 |
---|
show | 显示loading组件 |
hide | 隐藏loading组件 |
// 例子
import { Loading } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/index.css'
Loading.show()
Loading.show({
text: '加载中...',
color: '#0094ff',
bgColor: 'rgba(0,0,0,0.8)'
})
Loading.hide()
图片懒加载LazyImage组件(须版本 >= 1.0.3):
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
src | String | | 图片的url | 是 |
width | String | | 图片的宽度 | 是 |
height | String | | 图片的高度 | 是 |
alt | String | | 图片的alt | 否 |
style | Object | | 图片的样式 | 否 |
isRem | Boolean | true | 是否将px转换为rem | 否 |
loadingImg | String | | 加载中的图片,支持颜色值、渐变色或图片URL | 否 |
errorImg | String | | 加载失败的图片,支持颜色值、渐变色或图片URL | 否 |
onLoad | Function | | 图片加载成功的回调函数 | 否 |
onError | Function | | 图片加载失败的回调函数 | 否 |
onClick | Function | | 图片点击事件 | 否 |
borderRadius | String | | 图片的圆角 | 否 |
className | String | | 图片的样式 | 否 |
threshold | Number | 0.2 | 触发加载的视口比例 | 否 |
// 例子
import { LazyImage } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/style.css'
<LazyImage src="https://img.yzcdn.cn/vant/cat.jpeg" width="100px" height="100px" />
数字滚动组件NumberAnimation (须版本 >= 1.0.3)
参数名 | 类型 | 默认值 | 说明 | 是否必传 |
---|
value | Number | | 结束值 | 是 |
duration | Number | | 滚动时间 | 否 |
decimalPlaces | Number | 保留2位小数 | 小数位数 | 否 |
separator | Boolean | false | 是否添加千分位 | 否 |
className | String | | 自定义类名 | 否 |
style | Object | | 自定义样式 | 否 |
// 例子
import { NumberAnimation } from 'lei-react-lib'
import 'lei-react-lib/dist/assets/style.css'
<NumberAnimation value={1000} />
注意事项
请确保react版本 >= 16.8.0