npm 包 @beisen-phoenix/progress 使用教程

阅读时长 6 分钟读完

简介

@beisen-phoenix/progress 是一款前端进度条组件,可以方便地帮助你实现页面上的加载进度展示。本文将详细介绍该组件的功能、使用方法以及相关注意事项。

功能

@beisen-phoenix/progress 组件主要提供以下功能:

  • 能够自定义颜色、高度、形状等样式属性;
  • 能够响应进度百分比变化,实时更新进度条;
  • 能够暴露出完整的可操作 API,支持动态调用控制进度条的行为。

安装

你可以在命令行中使用 npm 或者 yarn 安装该组件:

在你的项目中引入该组件:

使用方法

基础用法

@beisen-phoenix/progress 具有非常简单的 API,只需要在 HTML 中插入一个空的 div 容器,在 JavaScript 中实例化 Progress 对象,并传入该容器元素即可。默认情况下,进度条将被渲染为矩形,高度为 4px,颜色为红色。

自定义样式

如果你需要自定义进度条的样式,可以在实例化 Progress 对象时传入一个配置对象,该对象包含了所有可选的样式属性。例如,你可以将进度条的颜色改为绿色:

目前支持的所有样式属性如下:

属性名 类型 默认值 说明
color 字符串 '#f7555f' 进度条颜色
height 数字 4 进度条高度
rounded 布尔值 false 是否使用圆角边框
easing 字符串 'linear' 进度条渐变方式,可选值为 'linear''ease'
duration 数字 1000 动画过渡时间,以毫秒为单位

更新进度条状态

一旦你的页面需要加载一些资源,例如图片、样式表或者 JavaScript 文件,你可以在加载过程中,将当前进度的百分比传给 Progress 对象,以实时更新进度条状态。

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

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

控制进度条

@beisen-phoenix/progress 还提供了一些简单的 API,用于动态控制进度条的行为。例如,你可以通过调用 reset 方法,将进度条重置为初始状态:

注意事项

  • @beisen-phoenix/progress 是一个基于 CSS3 的进度条组件,其表现形式是纯前端的,不依赖服务器端的任何计算和存储。
  • 虽然该组件提供了大量的配置选项,但请注意避免过度使用自定义样式,可能会影响你的页面渲染效果。
  • 如果你需要在组件中使用异步请求,建议将该请求转移到外部控制,在请求结束后再手动更新进度条状态。

示例代码

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

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

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

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

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

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

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