np-table 表格

配置驱动视图的表格,通过 columns 动态生成表格,用法简单且具有高扩展性。

基础用法

表格主要通过 option 配置 columns 动态生成表格,api.fetch 获取数据。

浏览器不支持,请手动复制 basic.vue

组件配置

Props

属性说明类型默认值
option配置参数TableOption-

Methods

通过 ref 获取表格实例后,可调用以下主动方法,详见 主动方法。

方法说明类型
reload重新加载数据,会重置到第一页() => Promise<void>
refresh重新刷新当前页数据() => Promise<void>
params绑定的查询参数,会作为 queryParams 传递给 api.fetchRecord<string, any>

类型定义

组件导出以下类型定义

import type {
  TableOption,
  TableColumn,
  TableFilter,
  TableSearchOption,
  NpTableInst,
} from 'naive-plus'

TableOption

属性说明类型默认值
columns表格列Array<TableColumn>-
api数据接口{ fetch: (pageParams, otherParams) => Promise<{ items, itemCount? }> }-
props表格属性,会透传给 n-data-table。为避免表格内部纵向滚动遮挡页面内容,会忽略 maxHeight、flexHeight、virtualScroll 等纵向滚动相关配置object-
pagination分页配置,设为 false 可禁用分页false / PaginationConfig-
filters筛选器配置Array<TableFilter>-
search搜索框配置,不传或为 false 时不显示false / TableSearchOption-
slots插槽配置,优先级高于组件同名插槽TableSlotOption-

TableColumn

属性说明类型默认值
key列字段名称string-
label列标题string-
render自定义渲染函数(rowData: T, rowIndex) => VNodeChild-
props列属性,透传给 n-data-table(如 width、minWidth、fixed)object-
display是否在表格中显示该列,false 表示彻底隐藏(常用于仅表单字段)booleantrue
formProps表单字段配置,详见 CRUD 增删改查object-

全局默认值

可通过 NpConfigProvider 统一配置 rowKey / props / formProps / operation,以及每一列的默认 column(props 合并到列属性,formProps 合并到新增/编辑表单的列配置),option 中的同名配置优先级更高。

<np-config-provider
  :component-options="{
    Table: {
      rowKey: 'id',
      props: { size: 'small' },
      column: { props: { align: 'center' }, formProps: { props: { size: 'small' } } },
    },
  }"
>
  <np-table :option="option" />
</np-config-provider>