组件
数据视图 Data View
DataView:数据视图,同一份数据支持两种布局。调用方通过 item 插槽渲染每条记录,视图把记录排成列表或网格;指定页大小时,直接复用 pagination 家族的部件分页,而不是另写一套实现。
#基础用法
1
Ledger entry 12
Ledger entry 23
Ledger entry 34
Ledger entry 45
Ledger entry 56
Ledger entry 6<script setup lang="ts">
import { Avatar, DataView } from "@bysages/vue";
const records = Array.from({ length: 23 }, (_, index) => ({
id: index + 1,
title: `Ledger entry ${index + 1}`,
}));
</script>
<template>
<DataView :items="records" :page-size="6" class="w-full">
<template #item="{ item }">
<div class="flex items-center gap-3 py-2 text-sm">
<Avatar.Root size="sm">
<Avatar.Fallback>{{ item.id }}</Avatar.Fallback>
</Avatar.Root>
<span>{{ item.title }}</span>
</div>
</template>
</DataView>
</template>
#属性
#DataView
DataView:数据视图,同一份数据支持两种布局。调用方通过 item 插槽渲染每条记录,视图把记录排成列表或网格;指定页大小时,直接复用 pagination 家族的部件分页,而不是另写一套实现。
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
items | Array as PropType<unknown[]> | — | |
layout | String as PropType<"list" | "grid"> | "list" | 数据视图布局,可为列表行或卡片网格 |
pageSize | Number as PropType<number> | undefined | 每页记录数;不设置则一次显示全部 |