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 跨列。
  • 常用于详情页、数据概览等需要清晰展示多个属性的场景,配合响应式数据可实现动态更新。
相关推荐
一只专注api接口开发的技术猿4 小时前
容器化与调度:使用 Docker 与 K8s 管理分布式淘宝商品数据采集任务
开发语言·前端·数据库
我有一棵树4 小时前
性能优化之前端与服务端中的 Gzip 压缩全解析
前端
魔术师卡颂4 小时前
不就写提示词?提示词工程为啥是工程?
前端·人工智能·后端
訾博ZiBo4 小时前
【Vibe Coding】001-前端界面常用布局
前端
IT_陈寒4 小时前
《Redis性能翻倍的7个冷门技巧,90%开发者都不知道!》
前端·人工智能·后端
歪歪1005 小时前
React Native开发Android&IOS流程完整指南
android·开发语言·前端·react native·ios·前端框架
知识分享小能手5 小时前
uni-app 入门学习教程,从入门到精通,uni-app组件 —— 知识点详解与实战案例(4)
前端·javascript·学习·微信小程序·小程序·前端框架·uni-app
ZYMFZ5 小时前
python面向对象
前端·数据库·python
长空任鸟飞_阿康5 小时前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·vue.js·人工智能