# 小程序扩展组件库

扩展组件是对小程序内置组件能力的补充，包括一些常见的功能组件，持续补充中。如果业务中有比较通用的场景，欢迎大家在页面反馈中提需求，[github地址](https://github.com/wechat-miniprogram/miniprogram-component-plus)。

## video-swiper

视频滑动切换组件，可实现类似微视无限视频列表效果。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/video-swiper.md)。

## recycle-view

小程序长列表组件。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/recycle-view)。

## sticky

粘性布局组件。Sticky 组件与 CSS 中 `position: sticky` 属性实现的效果一致，当组件在屏幕范围内时，会按照正常的布局排列，当组件滚出屏幕范围时，始终会固定在屏幕顶部。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/sticky.md)。

## tabs

选项卡组件。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/tabs.md)。

## row/col 组件

按照栅格化布局思路，再加上响应式布局的特性，提供了 row/col 两个基础布局组件，用来帮助开发者快速适配多屏应用。

核心概念是将整个屏幕宽度分为 **24** 单位，每个单位的大小，由当前屏幕尺寸决定的。例如 375px 的屏幕宽度，那么 1 unit = 375/24 px.

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/grid.md)。

## vtabs

纵向选项卡组件，需与 `<vtabs-content>` 组件结合使用。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/vtabs.md)。

## index-list

索引列表组件，可实现类似通讯录效果。组件内节点将被添加到列表上方。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/index-list.md)。

## Barrage

小程序弹幕组件。通过 view 的 transform 移动弹幕，覆盖在 原生组件上时，请确保组件已经同层化。[参考用例](https://developers.weixin.qq.com/s/fCP8KXmg70bQ)

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/barrage.md)。

## select-text

可选文本组件。该组件有两种使用模式：长按出现选区，与浏览器默认效果一致；长按出现复制按钮，点击复制拷贝全部内容至剪贴板，常见于聊天对话框等场景。

需注意的是，为实现点击其他区域隐藏复制按钮，开发者可在页面最外层监听 `tap` 事件，并将 `evt` 对象赋值给 `on-document-tap`。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-component-plus/blob/master/docs/select-text.md)。

## wxml-to-canvas

小程序内通过静态模板和样式绘制 canvas ，导出图片，可用于生成分享图等场景。[代码片段](https://developers.weixin.qq.com/s/r6UBlEm17pc6)

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/wxml-to-canvas)。

## miniprogram-file-uploader

小程序大文件上传库。

该上传库依赖 [`FileSystemManager.readFile`](/miniprogram/dev/api/file/FileSystemManager.readFile.md) 接口进行文件的分块读取，基础库版本 `2.10.0` 及以上支持，可通过 `isSupport` 接口判断。

> 更为详细的说明和指引，可点击[项目地址](https://github.com/wechat-miniprogram/miniprogram-file-uploader)。
