简介
在前端开发中,我们很少自己从头开始编写一个表格组件,而是选择使用现有的组件库。 @beisen-phoenix/table-v2 就是一个非常实用的表格组件,它基于 Vue.js 编写,提供了丰富的功能和配置选项,能够满足各种场景下的表格需求。本文将详细介绍如何使用该组件。
安装
首先,我们需要利用 npm 安装该组件。在命令行中输入以下命令即可:
npm install @beisen-phoenix/table-v2
安装完成后,我们可以在代码中引入该组件,如下所示:
import PhxTable from '@beisen-phoenix/table-v2'
基本使用
在使用 @beisen-phoenix/table-v2 组件时,首先需要准备一些基本的数据和配置。下面的例子将创建一个简单的表格,其中包含两列:name
和 age
。
-- -------------------- ---- ------- ---------- ---------- ------------------ --------- -------- -------- ----- -------- ------------- --------- ------- -------- ----- -------- -- ------------ ------------ ----------- -------- ------ -------- ---- -------------------------- ------ ------- - ----------- - -------- -- ------ - ------ - ---------- - - ----- ------- ---- -- -- - ----- ------ ---- -- -- - ----- ------- ---- -- -- -- - -- - ---------展开代码
在上面的代码中,我们首先引入了 @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 (列内文本的对齐方式,可选值为 right 、center 和 left ) |
fixedCols | Array | [] | 固定列定义数组,与 cols 相似,但是这些列将会一直固定在表格左侧。 |
isRowSelection | Boolean | false | 是否开启行选择功能。 |
orderCol | String | '' | 排序的列的 key |
order | String | '' | 排序的方式,可选值为 asc 和 desc |
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 自带的 orderCol
和 order
参数可以满足这一需求。下面的例子展示了如何使用这两个参数。
-- -------------------- ---- ------- ---------- ---------- ----------------- -------------------- --------------------- --------------- --------- ---------- -------- --- -- -------- - --- - --- -- ----------- ------------ ----------- -------- ------ -------- ---- -------------------------- ------ ------- - ----------- - -------- -- ------ - ------ - ---------- - - ----- ------- ---- --- ------- --------- ------- ----- -- - ----- ------ ---- --- ------- ------- ------- ---- -- - ----- ------- ---- --- ------- ------- ------- ---- -- -- ------------- - - ---- ------- ------ ----- ------ ---- ---------- -------- -- - ---- ------ ------ ----- ------ ---- ---------- -------- -- - ---- --------- ------ ----- ------ ---- ---------- -------- -- - ---- --------- ------ --------- ------ ---- ---------- -------- -- -- --------- ------ ------ ------ - -- - ---------展开代码
在上述代码中,我们将 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