npm 包 @beisen-phoenix/table-v2 使用教程

阅读时长 13 分钟读完

简介

在前端开发中,我们很少自己从头开始编写一个表格组件,而是选择使用现有的组件库。 @beisen-phoenix/table-v2 就是一个非常实用的表格组件,它基于 Vue.js 编写,提供了丰富的功能和配置选项,能够满足各种场景下的表格需求。本文将详细介绍如何使用该组件。

安装

首先,我们需要利用 npm 安装该组件。在命令行中输入以下命令即可:

安装完成后,我们可以在代码中引入该组件,如下所示:

基本使用

在使用 @beisen-phoenix/table-v2 组件时,首先需要准备一些基本的数据和配置。下面的例子将创建一个简单的表格,其中包含两列:nameage

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

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

------ ------- -
  ----------- - -------- --
  ------ -
    ------ -
      ---------- -
        - ----- ------- ---- -- --
        - ----- ------ ---- -- --
        - ----- ------- ---- -- --
      --
    -
  --
-
---------
展开代码

在上面的代码中,我们首先引入了 @beisen-phoenix/table-v2 组件,并在 template 中添加了一个 phx-table 标签,该标签的 data 属性绑定了一个数组,数组中的每个对象表示一个表格行,对象的属性表示表格列。此外,我们还为 phx-table 标签添加了两个插槽(slot),分别用来指定 name 列和 age 列的显示方式。

运行上述代码,我们可以看到生成的表格如下图所示:

属性列表

作为一个高度可配置的表格组件,@beisen-phoenix/table-v2 提供了多种属性和方法,可以满足各种业务场景下的需求。下面是该组件提供的一些常用属性和方法的介绍:

Props

属性名 类型 默认值 描述
tableData Array [] 表格数据,每个元素表示一行数据
cols Array [] 列定义数组,每个元素表示一列的属性。每个列属性对象包含 key(列数据在每行数据中对应的键值)、label(列头显示的文本)、width(列宽,单位为像素)、textAlign(列内文本的对齐方式,可选值为 rightcenterleft
fixedCols Array [] 固定列定义数组,与 cols 相似,但是这些列将会一直固定在表格左侧。
isRowSelection Boolean false 是否开启行选择功能。
orderCol String '' 排序的列的 key
order String '' 排序的方式,可选值为 ascdesc
onRowClick Function - 行点击事件回调函数,回调函数参数为数据对象和行索引
showNoDataTip Boolean true 当表格数据为空时,是否显示“无数据”提示消息。
rowClassName Function - 用于设置行的类名的回调函数,回调函数参数为数据对象和行索引

Methods

方法名 描述
refresh() 刷新表格展示,在某些情况下,表格数据或属性发生变化后可能需要手动刷新表格。【注意:该方法没有参数。】
resetOrder() 重置排序,默认按照原始数据的顺序排序。【注意:该方法没有参数。】
retrieveSelectedRows() 返回当前选中的行的数据数组。如果未开启行选择功能,返回空数组。
clearSelection() 清空当前选中的行。
setSelectedRows(rows[]) 设置当前选中的行。rows 参数为一个数组,表示选中的行的数据数组。

参数配置

在实际开发中,@beisen-phoenix/table-v2 组件常常需要根据各种需求进行调整和定制。下面介绍一些常用的参数配置方法。

列定义

@beisen-phoenix/table-v2 组件的最重要参数之一就是列定义(cols),该参数用于控制表格展示的列数、宽度、对齐方式、数据格式等方面。下面的例子展示了如何使用 cols 参数来定义表格的列。

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

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

------ ------- -
  ----------- - -------- --
  ------ -
    ------ -
      ---------- -
        - ----- ------- ---- --- ------- --------- ------- ----- --
        - ----- ------ ---- --- ------- ------- ------- ---- --
        - ----- ------- ---- --- ------- ------- ------- ---- --
      --
      ------------- -
        - ---- ------- ------ ----- ------ ---- ---------- -------- --
        - ---- ------ ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ --------- ------ ---- ---------- -------- --
      --
    -
  --
-
---------
展开代码

在这个例子中,我们在 data 中定义了表格数据(tableData)和表格列的定义(tableColumns),然后将这两个参数传递到 phx-table 标签中。在 phx-table 标签中,我们使用 template 插槽来对特定列进行格式化,例如对 status 列进行了二元判断。最终生成的表格如下图所示:

排序

在表格中,排序是一个非常常见的需求,@beisen-phoenix/table-v2 自带的 orderColorder 参数可以满足这一需求。下面的例子展示了如何使用这两个参数。

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

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

------ ------- -
  ----------- - -------- --
  ------ -
    ------ -
      ---------- -
        - ----- ------- ---- --- ------- --------- ------- ----- --
        - ----- ------ ---- --- ------- ------- ------- ---- --
        - ----- ------- ---- --- ------- ------- ------- ---- --
      --
      ------------- -
        - ---- ------- ------ ----- ------ ---- ---------- -------- --
        - ---- ------ ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ --------- ------ ---- ---------- -------- --
      --
      --------- ------
      ------ ------
    -
  --
-
---------
展开代码

在上述代码中,我们将 order-col 设置为 age,表示按照年龄排序;将 order 设置为 asc,表示升序排序。运行代码,我们可以得到如下的排序结果:

行选择

在表格中选中行通常也是一个常见的需求。@beisen-phoenix/table-v2 组件提供了 isRowSelection 属性来开启行选择功能,并提供了 retrieveSelectedRows()clearSelection()setSelectedRows(rows[]) 方法来获取、清除和设置选中行。下面的例子演示了如何使用这些参数和方法。

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

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

------ ------- -
  ----------- - -------- --
  ------ -
    ------ -
      ---------- -
        - ----- ------- ---- --- ------- --------- ------- ----- --
        - ----- ------ ---- --- ------- ------- ------- ---- --
        - ----- ------- ---- --- ------- ------- ------- ---- --
        - ----- ------- ---- --- ------- --------- ------- ----- --
      --
      ------------- -
        - ---- ------- ------ ----- ------ ---- ---------- -------- --
        - ---- ------ ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ ----- ------ ---- ---------- -------- --
        - ---- --------- ------ --------- ------ ---- ---------- -------- --
      --
    -
  --
  -------- -
    --------------------- ------ -
      -------------- -------- ----------- -----
    --
    ------------------ -
      ------------------------ -------------------------------------------
    --
    ------------------- -
      ------------------------------------
    --
  --
-
---------
展开代码

在这个例子中,我们在 phx-table 组件上添加了 is-row-selection="true",表示开启行选择功能。然后,我们还添加了两个按钮,并绑定了 showSelectedRows()clearSelectedRows() 两个方法。最后,我们在 @row-click 上定义了一个回调函数来处理行的点击事件。运行代码,我们可以看到如下效果:

总结

通过本文的学习,我们了解了如何安装和使用 @beisen-phoenix/table-v2 组件以及常用的参数配置方法。除了介绍的参数之外,该组件还提供了其他的诸多配置选项,希望读者在开发过程中能够继续深入了解和使用。

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