npm 包 @beisen/features-avatar 使用教程

阅读时长 14 分钟读完

前言

在前端开发中,处理和展示头像是一个常见的需求。@beisen/features-avatar 是一个基于 React 的开源组件,提供了一些常用的头像展示功能,如头像上传、头像展示、头像编辑等。本文将对该组件进行详细介绍和使用教程。

安装

使用 npm 进行安装:

快速开始

以上代码将在页面上渲染一个 64x64 的头像,头像展示的图片是 avatarUrl 指定的地址。

功能特点

  • 头像展示:提供了丰富的头像尺寸和样式配置,支持自定义头像占位图和失败图。
  • 头像上传:支持头像上传,可以自定义上传接口和上传限制,如上传图片大小、图片类型等。
  • 头像编辑:提供了裁剪、旋转、翻转等常见的图片编辑功能。

文档

Avatar

头像展示组件,接受的 props 如下:

Prop Type Default Description
size number 64 头像尺寸,单位 px
src string '' 头像展示的图片地址
placeholder ReactNode - 自定义头像未加载时的占位内容
fallback ReactNode - 加载头像失败后展示的内容
className string '' 自定义样式类
style CSSProperties {} 自定义样式
imgProps React.ImgHTMLAttributes {} 自定义 img 标签属性
onError (event: React.SyntheticEvent<image>) => void () => {} 头像加载失败时的回调函数
onClick (event: React.MouseEvent<htmlelement>) => void () => {} 头像点击事件的回调函数

具体使用示例:

-- -------------------- ---- -------
------ ------ ---- -------------------------

-------- ---------- -
  ----- --------- - --------------------------------
  ------ -
    -------
      ---------
      ---------------
      ---------------------------------
      ----------------------------
      ---------------------
      -------- ---------------- ------ --
      ----------- ---- ---- --
      ------------ -- ----------------------- ---
      ------------ -- -------------------- ---
    --
  -
-

AvatarUploader

头像上传组件,接受的 props 如下:

Prop Type Default Description
size number 64 头像尺寸,单位 px
src string '' 头像展示的图片地址,可以通过此 prop 控制头像的编辑状态
uploadUrl string/function - 头像上传接口
beforeUpload function - 在上传前的钩子函数,参数为上传的文件
maxSize number 1024 * 1024 允许上传文件的最大尺寸,单位:bytes
accept string 'image/*' 允许上传的文件类型
uploadText ReactNode '上传头像' 上传按钮的文案
uploadTip ReactNode '支持 jpg/png/gif 格式' 上传提示信息
onUploadSuccess function - 上传成功后的回调函数,参数为上传成功后的图片地址
onUploadFail function - 上传失败后的回调函数,参数为上传失败的原因
onError function - 加载头像失败后的回调函数,参数为错误事件 event

具体使用示例:

-- -------------------- ---- -------
------ -------------- ---- --------------------------------------------

-------- ------------------ -
  ----- --------- - -------------
  -------- ------------------ -
    -----------------------------------
  -
  -------- ------------------------ -
    --------------------- --- ---- --------
  -
  -------- ----------------------- -
    -------------------------- ------
  -
  ----- --------- - --------------------------------
  ------ -
    ---------------
      ---------
      ---------------
      ---------------------
      ---------------------------
      ------------- - -----
      ------------------ ----------- ----------
      -------------------
      -------------- ----------- -------- ----
      -------------------------------------
      -------------------------------
      ------------ -- ----------------------- ---
    --
  -
-

AvatarEditor

头像编辑组件,是对 react-avatar-editor 组件的再次封装,增加了对上传功能的支持。如果需要裁剪、旋转、翻转等图片编辑功能,可以使用此组件。

AvatarEditor 组件基于 react-avatar-editor 封装,react-avatar-editor 是一个功能强大的图片编辑组件,提供了多种图片编辑功能,具体可以参考其官方文档。

AvatarEditor 的 props 是 react-avatar-editor 的所有 props 和 AvatarUploader 组件的部分 props,如下:

Prop Type Default Description
scale number 1 缩放比例,取值范围为 0 - 3
rotate number 0 旋转角度,单位度数
flip string '' 翻转方向,取值为 'horizontal' 或 'vertical'
border number/string 25 裁剪边框大小,单位像素
borderRadius number 0 裁剪后头像的圆角半径,单位像素
color number [0, 0, 0, 0.5] 裁剪框遮罩层颜色,RGBA 格式
image string/Image - 裁剪的源图片,默认为空,需要通过 src 或 setImage 方法指定
width number 200 头像裁剪后的宽度,单位像素
height number 200 头像裁剪后的高度,单位像素
maxFileSize number 10 * 1024 * 1024 允许上传的最大文件大小
uploadUrl string/function - 上传头像的接口地址,可以传入一个函数实时计算
beforeUpload function - 上传前的钩子函数,参数为上传的文件
accept string 'image/*' 允许上传的文件类型
uploadText ReactNode '上传头像' 上传按钮的文案
uploadTip ReactNode '支持 jpg/png/gif 格式' 上传提示信息
onUploadSuccess function - 上传成功后的回调函数,参数为上传成功后的图片地址
onUploadFail function - 上传失败后的回调函数,参数为上传失败的原因
onError function - 加载头像失败后的回调函数,参数为错误事件 event

具体使用示例:

-- -------------------- ---- -------
------ ------------ ---- ------------------------------------------

-------- ---------------- -
  ----- --------- - --------------------
  ----- ---------- ------------ - ------------
  -------- ------------------------ -
    --------------------- --- ---- --------
    --------------------
  -
  -------- ----------------------- -
    -------------------------- ------
  -
  ------ -
    -------------
      -----------
      -----------
      -----------------
      -----------
      -----------------
      ------------ ---- ---- -----
      ----------------
      -----------
      ------------
      -------------- - ---- - -----
      ---------------------
      -------------------- -- -----------------------------------
      ------------------ ----------- ----------
      -------------------
      -------------- ----------- -------- ----
      -------------------------------------
      -------------------------------
      ------------ -- ----------------------- ---
    --
  -
-

结尾

@beisen/features-avatar 是一个方便易用、功能丰富的头像组件,支持多种头像展示和编辑功能。通过本文的介绍与示例,你可以快速掌握该组件的基本用法和常用功能,并在实践中灵活运用。希望本文对你有所帮助,谢谢阅读。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedabe9b5cbfe1ea06108cb

纠错
反馈