当前位置: 首页 > news >正文

【区分vue2和vue3下的element UI Collapse 折叠面板组件,分别详细介绍属性,事件,方法如何使用,并举例】

在 Vue 2 中,我们通常使用 Element UI,而在 Vue 3 中,我们则使用 Element Plus 来获得类似的组件库功能。对于 Collapse 折叠面板组件,这两个库提供了相似的接口,但具体属性、事件和方法可能略有不同。以下将分别介绍 Vue 2 下的 Element UI Collapse 和 Vue 3 下的 Element Plus Collapse 的属性、事件和方法,并给出示例。

Vue 2 + Element UI Collapse

属性(Props)
  • value / v-model: 绑定值,当前激活的面板的 name,可以使用 v-model 双向绑定。
  • accordion: 是否手风琴模式,即是否只允许同时展开一个面板。
事件(Events)
  • change: 当前激活面板改变时触发,返回当前激活的面板的 name 和 index。
方法(通常不直接暴露,但可通过 $refs 访问内部方法,但 Element UI Collapse 通常不提供直接的方法)

Element UI 的 Collapse 组件通常不直接暴露方法供外部调用。

示例
<template><el-collapse v-model="activeNames" @change="handleChange"><el-collapse-item title="一致性" name="1"><p>与用户的认知和操作习惯保持一致,尽量符合用户预期。</p></el-collapse-item><el-collapse-item title="反馈" name="2"><p>控制反馈,给用户清晰、即时的反馈。</p></el-collapse-item><!-- 更多面板 --></el-collapse>
</template><script>
export default {data() {return {activeNames: ['1'], // 默认展开第一个面板};},methods: {handleChange(val) {console.log(val); // 当前展开的面板的 name 数组},},
};
</script>

Vue 3 + Element Plus Collapse

属性(Props)
  • model-value / v-model: 绑定值,当前激活的面板的 key,可以使用 v-model 双向绑定。
  • accordion: 是否手风琴模式,即是否只允许同时展开一个面板。
  • border: 是否显示外边框。
事件(Events)
  • update:model-value@change(使用 .sync 修饰符时): 当前激活面板改变时触发,返回当前激活的面板的 key 和 index。
方法(通常不直接暴露)

Element Plus 的 Collapse 组件同样通常不直接暴露方法供外部调用。

示例
<template><el-collapse v-model="activeKey" @change="handleChange"><el-collapse-item title="一致性" name="1"><p>与用户的认知和操作习惯保持一致,尽量符合用户预期。</p></el-collapse-item><el-collapse-item title="反馈" name="2"><p>控制反馈,给用户清晰、即时的反馈。</p></el-collapse-item><!-- 更多面板 --></el-collapse>
</template><script>
import { ref } from 'vue';export default {setup() {const activeKey = ref('1'); // 默认展开第一个面板function handleChange(val) {console.log(val); // 当前展开的面板的 key}return {activeKey,handleChange,};},
};
</script>

注意:在 Vue 3 和 Element Plus 中,我们使用了 Composition API (refsetup 函数) 来定义响应式数据和函数。然而,对于简单的用例,你仍然可以使用 Vue 3 的 Options API(类似于 Vue 2 的方式),这取决于你的个人偏好和项目需求。

此外,Element Plus 的 v-model 绑定属性在 Vue 3 中被重命名为 model-value 以符合 Vue 3 的响应式系统变化,但通常你仍然可以直接使用 v-model 并让 Vue 自动处理这一转换。如果你想要显式监听 model-value 的变化,可以使用 @update:model-value 事件,但在大多数情况下,简单地使用 @change 就足够了,因为 Element Plus 组件通常会为 v-model 绑定提供一个名为 change 的事件来通知变化。然而,请注意,Element Plus 的官方文档应始终作为最终参考。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux上如何安装ffmpeg视频处理软件
  • ChatGPT对话:如何制作静态网页?
  • 数据结构4.0——串的定义和基本操作
  • ConditionalOnResource注解使用介绍、应用场景以及示例代码
  • element如何实现自定义表头?
  • 图论基础概念(详细讲解)
  • 保证 WebSocket 连接之前的身份验证过程的安全性
  • 《A++ 敏捷开发》- 10 二八原则
  • go语言处理特定格式的时间 例如打印出来2024-07-12 12:22:22 -2024-07-12 12:52:22
  • 【Linux网络】数据链路层【下】{MAC/MTU/ARP/ICMP/NAT/PING/代理服务器原理}
  • MFC常用数据类型类:CRect
  • [论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG
  • Python函数 之 匿名函数
  • 目前分布式光纤测温系统的主流架构有哪些?
  • MyBatis(35)如何在 MyBatis 中实现软删除
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • eclipse(luna)创建web工程
  • E-HPC支持多队列管理和自动伸缩
  • Fabric架构演变之路
  • java2019面试题北京
  • java中具有继承关系的类及其对象初始化顺序
  • MySQL的数据类型
  • nginx 负载服务器优化
  • React-flux杂记
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • Wamp集成环境 添加PHP的新版本
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 学习ES6 变量的解构赋值
  • 用element的upload组件实现多图片上传和压缩
  • 用jquery写贪吃蛇
  • 原生js练习题---第五课
  • 昨天1024程序员节,我故意写了个死循环~
  • ​MySQL主从复制一致性检测
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • #pragma once
  • (~_~)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (web自动化测试+python)1
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)ssm码农论坛 毕业设计 231126
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (十) 初识 Docker file
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)图像的%2线性拉伸
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • ./和../以及/和~之间的区别
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET Compact Framework 多线程环境下的UI异步刷新