Descriptions
Display read-only information in key-value pairs. Commonly used in detail pages, profile pages, and data display scenarios.
Preview
基础布局(无边框,2列)
用户信息
带边框布局(3列,部分项跨列)
订单详情
垂直排列布局(4列)
服务器配置
技术档案印章(stamp 插槽)
机密档案
Installation
pnpm dlx brutx-vue@latest add descriptionsUsage
<script setup>
import { Descriptions, DescriptionsItem } from 'brutx-ui-vue'
</script>
<template>
<Descriptions title="User Information" :column="2">
<DescriptionsItem label="Name">John Doe</DescriptionsItem>
<DescriptionsItem label="Email">john@example.com</DescriptionsItem>
<DescriptionsItem label="Phone">+1 234 567 890</DescriptionsItem>
<DescriptionsItem label="Address">123 Main St, City</DescriptionsItem>
</Descriptions>
</template>With Border
<script setup>
import { Descriptions, DescriptionsItem } from 'brutx-ui-vue'
</script>
<template>
<Descriptions title="Order Details" border>
<DescriptionsItem label="Order ID">ORD-2024-001</DescriptionsItem>
<DescriptionsItem label="Date">2024-01-15</DescriptionsItem>
<DescriptionsItem label="Status">Completed</DescriptionsItem>
<DescriptionsItem label="Amount">$299.99</DescriptionsItem>
<DescriptionsItem label="Note" :span="2">Express shipping requested</DescriptionsItem>
</Descriptions>
</template>Vertical Direction
<script setup>
import { Descriptions, DescriptionsItem } from 'brutx-ui-vue'
</script>
<template>
<Descriptions title="Product Info" direction="vertical" border>
<DescriptionsItem label="Name">Brutal Keyboard</DescriptionsItem>
<DescriptionsItem label="Brand">BrutxUI</DescriptionsItem>
<DescriptionsItem label="Price">$149.99</DescriptionsItem>
</Descriptions>
</template>Different Sizes
<script setup>
import { Descriptions, DescriptionsItem } from 'brutx-ui-vue'
</script>
<template>
<Descriptions size="sm" border>
<DescriptionsItem label="Small">Content</DescriptionsItem>
</Descriptions>
<Descriptions size="default" border>
<DescriptionsItem label="Default">Content</DescriptionsItem>
</Descriptions>
<Descriptions size="lg" border>
<DescriptionsItem label="Large">Content</DescriptionsItem>
</Descriptions>
</template>Sub-components
| Component | Description |
|---|---|
Descriptions | Root container component |
DescriptionsItem | Single description item (label + content) |
API Reference
Descriptions
| Name | Type | Default | Description |
|---|---|---|---|
column | number | undefined | 3 | The logical number of description columns. Horizontal bordered layout uses twice as many grid tracks for labels and values; invalid values are normalized to at least one column. |
DetailsDeclared typenumber | undefined Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
border | boolean | undefined | false | Enables the bordered description layout and provides the setting to child items. |
DetailsDeclared typeboolean | undefined Literal values
Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
direction | "vertical" | "horizontal" | undefined | "horizontal" | Selects horizontal or vertical label/value arrangement and provides it to child items. |
DetailsDeclared type"vertical" | "horizontal" | undefined Literal values
Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
size | "default" | "lg" | "sm" | undefined | "default" | Selects the text size associated with small, default, or large. |
DetailsDeclared type"default" | "lg" | "sm" | undefined Literal values
Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
title | string | undefined | undefined | The description-list title. A non-empty value displays the title area and can be replaced by the title slot. |
DetailsDeclared typestring | undefined Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
class | string | undefined | undefined | Custom CSS classes appended to the outer descriptions container. |
DetailsDeclared typestring | undefined Default value details
Sourcepackages/ui/src/components/descriptions/Descriptions.vue | |||
| Name | Signature or type | Description |
|---|---|---|
#title | {} | Replaces the title text and default h3 structure. The title area is created only for non-empty title text or when this slot renders non-comment content. |
DetailsDeclared type{}Sourcepackages/ui/src/components/descriptions/Descriptions.vue | ||
#stamp | {} | Renders stamp content at the upper-right of the bordered layout; shown only when border is true and this slot is provided. |
DetailsDeclared type{}Sourcepackages/ui/src/components/descriptions/Descriptions.vue | ||
#default | {} | Contains DescriptionsItem entries. |
DetailsDeclared type{}Sourcepackages/ui/src/components/descriptions/Descriptions.vue | ||
DescriptionsItem
| Name | Type | Default | Description |
|---|---|---|---|
labelRequired | string | — | The description item label text; it can be replaced by the label slot. |
DetailsDeclared typestring Default value details
Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | |||
span | number | undefined | 1 | The logical columns spanned by the item, normalized to a positive integer. In horizontal bordered layout, each logical column spans two grid tracks. |
DetailsDeclared typenumber | undefined Default value details
Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | |||
labelWidth | string | number | undefined | undefined | Sets the label cell width; numbers are treated as pixels and an empty string applies no width. In horizontal bordered layout it does not change the parent grid-track width. |
DetailsDeclared typestring | number | undefined Default value details
Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | |||
class | string | undefined | undefined | Custom CSS classes appended to the description item layout container. |
DetailsDeclared typestring | undefined Default value details
Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | |||
| Name | Signature or type | Description |
|---|---|---|
#label | {} | Replaces the label prop text with custom label content. |
DetailsDeclared type{}Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | ||
#default | {} | Renders the value or descriptive content for this item. |
DetailsDeclared type{}Sourcepackages/ui/src/components/descriptions/DescriptionsItem.vue | ||
Accessibility
- Uses semantic HTML structure
- Border mode uses table-like layout for screen reader compatibility
- Labels are associated with their values via visual grouping