Element Plus组件

文章目录

Element Plus组件总览

el-descriptions 和 el-descriptions-item

el-descriptionsel-descriptions-item 是 Element Plus 中用于展示"键值对"形式信息的组件(类似详情页的属性说明),常用于展示对象的多个属性,比如用户信息、数据详情等。下面详细介绍它们的用法和常用属性:

1. el-descriptions(容器组件)

作为描述列表的外层容器,用于控制整体布局(列数、对齐方式、边框等),内部嵌套 el-descriptions-item 作为每一项。

常用属性:
属性名 说明 类型 默认值
column 每行展示的列数(屏幕尺寸变化时可通过 responsive 自适应) number 3
border 是否显示边框(带边框的列表更像表格样式) boolean false
direction 排列方向(horizontal 横向 / vertical 纵向) string 'horizontal'
align 内容对齐方式(left / center / right,作用于所有项) string 'left'
label-align 标签的对齐方式(优先级高于 align,仅控制 label 部分) string 'right'
responsive 是否响应式布局(屏幕变小时自动调整列数) boolean true

2. el-descriptions-item(子项组件)

作为描述列表的每一项,用于展示单个"键值对"(label 为键,内部内容为值)。

常用属性:
属性名 说明 类型 默认值
label 左侧的标签文本(键名) string ---
span 该项占多少列(默认占 1 列,可跨列,类似表格的 colspan number 1
align 该项内容的对齐方式(覆盖容器的 align string ---
label-align 该项标签的对齐方式(覆盖容器的 label-align string ---

基本用法示例

vue 复制代码
<template>
  <!-- 带边框的描述列表,每行3列 -->
  <el-descriptions 
    column="3" 
    border 
    label-align="center"
  >
    <!-- 每一项:label 是键,内部是值 -->
    <el-descriptions-item label="姓名">张三</el-descriptions-item>
    <el-descriptions-item label="年龄">25</el-descriptions-item>
    <el-descriptions-item label="性别">男</el-descriptions-item>
    <!-- 跨列示例:该项占2列 -->
    <el-descriptions-item label="地址" span="2">北京市朝阳区</el-descriptions-item>
    <el-descriptions-item label="职业">工程师</el-descriptions-item>
  </el-descriptions>
</template>
效果说明:
  • 整体显示 3 列,带边框,标签居中对齐。
  • "地址"项通过 span="2" 跨 2 列,所以一行中"地址"会占据两列位置,后面紧跟"职业"项。

结合响应式数据使用

通常会配合 Vue 的响应式数据动态展示内容,比如你的示例中使用 {``{ overview.xxx }} 绑定数据:

vue 复制代码
<template>
  <el-descriptions :column="3" border>
    <!-- 动态绑定数据 -->
    <el-descriptions-item label="裂缝总数">{{ overview.totalCracks }}</el-descriptions-item>
    <el-descriptions-item label="高速公路">{{ overview.highwayName }}</el-descriptions-item>
    <el-descriptions-item label="检测时间">{{ overview.detectionDate }}</el-descriptions-item>
  </el-descriptions>
</template>

<script setup>
import { reactive } from 'vue'

// 响应式数据
const overview = reactive({
  totalCracks: 120,
  highwayName: '京藏高速',
  detectionDate: '2023-10-01'
})
</script>

overview 中的数据变化时,描述列表会自动更新展示内容。

纵向排列(direction="vertical"

适合移动端或需要垂直展示的场景:

vue 复制代码
<el-descriptions direction="vertical" column="1">
  <el-descriptions-item label="姓名">张三</el-descriptions-item>
  <el-descriptions-item label="年龄">25</el-descriptions-item>
</el-descriptions>

效果:标签和值上下排列(标签在上,值在下),每行占 1 列。

总结

  • el-descriptions 是容器,负责整体布局(列数、边框、对齐等)。
  • el-descriptions-item 是子项,负责单个键值对的展示,可通过 span 跨列。
  • 常用于详情页、数据概览等需要清晰展示多个属性的场景,配合响应式数据可实现动态更新。
相关推荐
崔庆才丨静觅1 小时前
hCaptcha 验证码图像识别 API 对接教程
前端
passerby60612 小时前
完成前端时间处理的另一块版图
前端·github·web components
掘了2 小时前
「2025 年终总结」在所有失去的人中,我最怀念我自己
前端·后端·年终总结
崔庆才丨静觅2 小时前
实用免费的 Short URL 短链接 API 对接说明
前端
崔庆才丨静觅2 小时前
5分钟快速搭建 AI 平台并用它赚钱!
前端
崔庆才丨静觅3 小时前
比官方便宜一半以上!Midjourney API 申请及使用
前端
Moment3 小时前
富文本编辑器在 AI 时代为什么这么受欢迎
前端·javascript·后端
崔庆才丨静觅3 小时前
刷屏全网的“nano-banana”API接入指南!0.1元/张量产高清创意图,开发者必藏
前端
剪刀石头布啊3 小时前
jwt介绍
前端
爱敲代码的小鱼3 小时前
AJAX(异步交互的技术来实现从服务端中获取数据):
前端·javascript·ajax