Components

DataTable 数据表

面向控制台的受控增强表格:排序、分页、行选择与一致状态。

可控表格状态

排序、分页、选择状态由调用方保存;slot: true 的列查找 #cell-<key> 作用域插槽。

已选择 0 个节点
节点地域状态延迟操作
hkg-edge-01中国香港在线8ms
nrt-edge-02日本东京在线14ms
第 1 / 2 页,共 4 条
<DataTable
  v-model:selected="selected"
  v-model:sortable="sort"
  v-model:page="page"
  :columns="columns"
  :rows="rows"
  row-key="name"
  selectable
  :page-size="20"
>
  <template #toolbar="{ selected, clearSelection }">
    已选择 {{ selected.length }} 项
  </template>
  <template #cell-status="{ value }">
    <Badge :color="value === '在线' ? 'success' : value === '维护' ? 'warning' : 'neutral'" variant="soft" dot size="xs">{{ value }}</Badge>
  </template>
  <template #cell-actions>
    <Button size="xs" variant="ghost" color="neutral">管理</Button>
  </template>
</DataTable>

API 参考

属性类型默认值说明
columns{ key, label, width?, align?, slot?, sortable? }[]—列定义;sortable 开启受控列排序。
rows / rowKeyRecord<string, unknown>[] / string | function—行数据和稳定行标识。
v-model:selected(string | number)[][]启用 selectable 后的受控行选择。
v-model:sortable{ key, direction } | undefined—受控排序状态,数据排序由调用方处理。
v-model:page / pageSize / totalnumber1 / 0 / rows.length受控分页;传 total 时适配服务端分页。
loading / errorboolean / stringfalse / —统一骨架加载与错误状态。
visibleColumnKeysstring[]全部列受控列显隐。
toolbar / empty / error / cell-<key>slot—工具栏、状态与单元格插槽。