Skip to content

Table 表格

基础表格

自定义列

自定义表头和单元格

边框和条纹

自定义类名

固定表头

指定列宽

可拖动表头

加载中

空状态

可以通过 emptyText自定义空文本,也可以通过 slot='empty'自定义空状态显示的内容

值预处理

固定列

排序

默认为自动排序,可以通过将 sortable设置为 custom,并监听 sortChange事件来自定义排序; 默认的排序顺序为:无 -> 升序 -> 降序,可以通过 sortBy指定排序的顺序; 也可以通过调用 table提供的 sort方法,传入 defaultSort参数来手动排序; 如果需要清除排序状态并恢复原始数据,可调用 table提供的 clearSort方法;

溢出工具提示

序号列

单选列

通过 type = 'radio'开启单选列,需要注意的是,此时表格必须设置 rowKey属性,为每一行指定唯一的标识;同时表格可以开启 highlightSelectionRow属性,高亮当前选中的所有行

调用表格的 setCurrentRow方法,可以手动选中某一行(单选表格); 调用表格的 clearSelection方法,可以清空当前选中的所有行; 调用表格的 getSelectionRows方法,获取已选中的行;

多选列

通过 type = 'checkbox'开启多选列,需要注意的是,此时表格必须设置 rowKey属性,为每一行指定唯一的标识;同时表格可以开启 highlightSelectionRow属性,高亮当前选中的所有行

调用表格的 toggleRowSelection方法,可以手动选中某一行(多选表格); 调用表格的 clearSelection方法,可以清空当前选中的所有行;

展开行

PS:必须指定 row-key

可以通过 table提供的 toggleRowExpansion方法,手动切换行的展开,如果提供第二个参数,可以指定行是否展开

树形数据与懒加载

树形表格有两种形式:

  1. 非懒加载, 自动读取 children字段;
  2. 异步获取, 可让后端设置 hasChildren字段, 配置是否显示折叠按钮,可以通过 treeMethod方法异步获取表格数据

PS:必须指定 row-key

API

Table Props

参数名说明类型可选值默认值是否必填
data表格数据源any[][]
border是否显示边框booleanfalse
stripe是否显示条纹booleanfalse
height表格高度string / number'auto'
maxHeight表格最大高度string / number'none'
size表格尺寸'small' / 'medium' / 'lage''medium'
showHeader是否显示表头booleantrue
highlightHoverRow是否高亮当前 hover的行booleantrue
highlightSelectionRow是否高亮已选中的行booleanfalse
rowClassName自定义行的classstring / Function''
cellClassName自定义单元格的classstring / Function''
headerRowClassName自定义表头的classstring / Function''
headerCellClassName自定义表头单元格的classstring / Function''
rowKey每一行唯一的标识ITableBaseRowKey / Function''
emptyText表格为空时展示的文本,也可通过 slot=empty自定义string''
loading表格是否加载中booleanfalse
defaultSort默认排序的列的顺序{
 prop?: string;
 order?: ITableColumnSortBy
}
{
  prop: '',
  order: 'none',
 }
treeLazyload树形数据是否懒加载booleanfalse
treeProps可以自行指定树形数据使用的字段{
 children?: string;
 hasChildren?: string;
}
{
  // 子数据列表
  children: 'children',
  // 该行是否有子数据
  hasChildren: 'hasChildren',
 }
treeMethod异步获取树形数据Function
columns表格列ITableColumn[][]

Table Exposes

属性名说明类型
sort手动排序Function
clearSort清除排序状态Function
setCurrentRow【单选表格】选中某一行Function
clearSelection【单选+多选表格】清空当前选中的所有行Function
getSelectionRows【单选+多选表格】获取当前选中的所有行Function
toggleRowSelection【多选表格】切换单行的选择状态,如果指定了第二个参数,那么会直接设置该行是否选中Function
toggleAllSelection【多选表格】切换表头的全选状态,如果指定了第一个参数,那么会直接设置是否选中Function
toggleRowExpansion切换某一行是否展开,如果指定了第二个参数,那么则强制是否展开Function

Table Emits

事件名说明参数
sortChange当排序状态改变时触发(prop: string, order: ITableColumnSortBy)
selectionChange【单选+多选表格】当选择状态改变时触发(rowKeys: ITableBaseRowKey[])
selectAll【多选表格】表头全选时触发(data: { rowKeys: ITableBaseRowKey[]; column: ITableColumnProps; selected: boolean; })
select【多选表格】选中某一行时触发(data: { rowKey: ITableBaseRowKey; rowKeys: ITableBaseRowKey[]; row: any; column: ITableColumnProps; selected: boolean; })

TableColumn Props

参数名说明类型可选值默认值是否必填
propdata数据对应keystring''
label表头标题string''
type表格列的类型string'default' / 'checkbox' / 'radio' / 'index' / 'expand'default'
align单元格内容的对齐方式string'left' / 'center' / 'right''left'
headerAlign表头单元格内容的对齐方式string'left' / 'center' / 'right''left'
width单元格宽度string / number''
minWidth单元格最小宽度string / number'30'
fixed是否固定booleanfalse
sortable是否可排序booleanfalse
sortBy排序顺序,默认为:(无 => 升序 => 降序)string[]['none', 'ascending', 'descending']
resizable表头是否可拖动大小booleanfalse
formatter单元格内容格式化Function
className本列的classstring''
labelClassName本列表头的classstring''
showOverflowTooltip单元格内容是否溢出显示tooltipbooleanfalse