跳到正文
贡献者

DataTable

提供客户端或服务端数据模式、搜索、稳定多列排序、分页与行选择。

基础用法

Alex生存在线1280
Steve创造在线965
Sunny冒险暂离842
Robin生存离线760
Kai旁观在线694
Luna创造在线618
Noah生存暂离557
Ember冒险离线481
Mia生存在线436
Owen创造离线390

Server 模式

加载时会保留上一批数据的表体高度,避免请求切换期间表格和页面上下抽动。

  • loadingAutoHeight 默认开启,读取刷新前真实表体高度。
  • loadingHeight 可传数字或 320px 表示像素,也可传 6L 表示 6 行;显式高度优先于自动高度。
River生存在线1420
Hazel创造在线1315
Avery冒险暂离1190
Rowan生存在线1085
Sage旁观离线1012
Maple创造在线936
Ash生存暂离884
Sky冒险在线817
Reed生存离线742
Wren创造在线679

组件不发起请求,只输出 { page, itemsPerPage, sortBy, search };请求、缓存和取消由应用负责。

空状态

数据为空时显示内置空状态。使用 noDataText 修改提示文字,或通过 no-data 插槽替换完整内容。

暂无玩家数据

API

Props

名称类型默认说明
headers{ title,key,sortable?,align?,width? }[]必填列定义,控制标题、字段键、排序能力、对齐方式和可选宽度。
itemsRecord<string, unknown>[]必填当前页或完整数据列表,具体含义由 mode 决定。
itemKeystring | ((item) => unknown)id从数据项中取得稳定行键的字段名或函数。对象键用 Object.is 比较,不能放进 Set
options{ page, itemsPerPage, sortBy, search }内置默认值分页、每页条数、排序和搜索组成的受控表格状态。
itemsPerPageOptionsnumber[][10,25,50,100]每页条数下拉框中的可选值。
showSelectbooleanfalse是否显示行选择框和表头全选框。
modelValueunknown[][]当前选中的行键列表,支持通过 v-model 双向绑定。
multiSortbooleanfalse是否保留已有排序条件并允许多列排序。
modeclient | serverclient客户端模式本地筛选、排序和分页;服务端模式只发出 options 更新。
itemsLengthnumber0服务端模式下的总数据条数,用于计算总页数。
loadingbooleanfalse是否显示加载态并保持稳定的表体高度。
loadingHeightnumber | \${number}px` | `${number}L``-加载态固定高度;数字或 px 表示像素,L 表示可见数据行数。
loadingAutoHeightbooleantrue未设置 loadingHeight 时,是否沿用加载前测得的表体高度。
noDataTextstring本地化文案没有可显示数据时使用的空状态文字。

字段插槽 item.<key> 获得 { item, value, index },另有 loadingno-data。表格状态只发出 update:options;选择状态发出 update:modelValuechange

最后更新于

MIT Licensed · Ore UI 风格 Vue 3 组件库