npm 包 @custom-elements/refresh-indicator 使用教程

阅读时长 13 分钟读完

在当今的 Web 开发中,使用自定义元素已经成为一个很常见的事情。自定义元素让开发人员可以创建自己的 HTML 标记,并进行更加灵活的数据与 UI 展示操作。在这种情况下,@custom-elements/refresh-indicator 这个 npm 包就非常值得使用了,它可以帮助我们快速创建一个自定义元素,以显示应用程序的加载状态。

安装

首先需要将它安装到你的项目中进行使用。可以通过以下两种方式:

使用 npm

可以使用 npm 命令安装:

在 HTML 引入

也可以在 html 中引入:

但我们建议使用 npm 版本来使用。

使用指南

安装完 @custom-elements/refresh-indicator 后,我们就可以在 HTML 中使用了。

创建自定义元素

首先需要创建一个自定义元素,继承于该 npm 包内的 RefreshIndicatorElement 类。

设置默认属性

我们还可以为自定义元素设置默认属性,如下所示:

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

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

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

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

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

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

观察 loadingerror 这两个属性的变化,以便以后监听自定义元素的变化。

添加模板

设置了自定义元素的默认属性以后,我们就可以添加模板了。模板包括元素的 UI 和交互逻辑。

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

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

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

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

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

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

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

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

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

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

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

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

监听变化

最后还需要监听自定义元素的变化。

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

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

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

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

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

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

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

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

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

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

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

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

现在,我们已经可以创建一个简单的自定义元素,并使用它来创建一个类似于下拉刷新的 UI 了。

示例代码

完整示例代码如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

使用:

总结

@custom-elements/refresh-indicator 是一个非常好用的 npm 包。它能够帮助开发人员快速创建自己的自定义元素,从而实现更加优秀的 UI 和交互体验。希望以上的介绍对大家有所帮助。

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

纠错
反馈