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 跨列。
  • 常用于详情页、数据概览等需要清晰展示多个属性的场景,配合响应式数据可实现动态更新。
相关推荐
无风听海12 小时前
构建现代 Web 应用的令牌安全体系:Refresh Token Rotation、HttpOnly Cookie 与 Grace Period 全解析
前端·安全
云水一下12 小时前
JavaScript 从零基础到精通系列:对象、数组与 ES6 数据操作利器
前端·javascript
四代水门12 小时前
服务端倒带(Server-Side Rewind)命中判定系统
java·前端·算法
宋浮檀s12 小时前
应急响应——Web高危漏洞应急(SQL注入+XSS跨站+文件上传)
前端·网络·安全·web安全·xss
前端后腿哥12 小时前
UNIAPPX UTS插件Widget开发完整教程(Android版)
前端·uni-app
MaCa .BaKa12 小时前
56-非遗手工艺品定制平台系统
java·vue.js·spring boot·mysql·maven·非遗手工制作平台系统·非遗制作
大家的林语冰12 小时前
AI 遥控代码截图,录制终端动画,定制自动化批量制图流程,解放你的双手~
前端·ai编程·trae
无聊的老谢12 小时前
Vue 3 + Leaflet 实现高性能 Web GIS 基站监控平台
前端·javascript·vue.js
之歆12 小时前
Day23_Bootstrap 前端框架完全指南:从栅格系统到组件化开发
开发语言·前端·javascript·前端框架·bootstrap·ecmascript·less
前端 贾公子12 小时前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理(上)
前端·javascript·vue.js