手记

【学习打卡】第12天 封装组件中级篇

课程名称:基于Vue3+Vite+TS,二次封装element-plus业务组件
课程章节: 封装组件中级篇
主讲老师:五月的夏天

课程内容:

今天学习的内容包括:
4-11 城市选择组件-组合式使用组件完成基本布局——介绍实现效果,初步基于 el-icon、el-popover 实现点击切换及弹出内容效果。
4-12 城市选择组件-获取城市数据并显示所有城市——书写城市选择组件数据,实现按城市按省份radio组,下拉选择模块,下方城市区域按照字母进行排序。
4-13 城市选择组件-绑定事件并实现点击字母跳转到对应区域——目前是按照城市进行展示,此处点击字母跳到对应的字母城市组。

课程收获:

组合式使用组件完成基本布局

1、实现一个城市的选择,在一些项目中是需要的,因此基于element-plus封装一个城市选择组件
2、我们先初步 基于el-icon、el-popover 实现基础弹窗效果

 <div class="result">
   <div class="text">{{ result }}</div>
   <div class="">
     <el-icon-arrowup v-if="visible"></el-icon-arrowup>
     <el-icon-arrowdown v-else></el-icon-arrowdown>
   </div>
 </div>

获取城市数据并显示所有城市

1、原先我们的省市区是数据格式的,因此我们使用了老师的对象模式进行开发
2、使用栅格实现头部的模式切换以及下拉搜索
3、实现字母的循环渲染使用 Object.keys()
4、渲染所有的城市

<div
   class="city-item"
   v-for="(item, index) in Object.keys(cities)"
   @click="clickChat(item)"
   :key="index"
 >
  {{ item }}
</div>

绑定事件并实现点击字母跳转到对应区域

1、点击城市选择右侧图标动画效果

transform: rotate(180deg);
transition: all 0.25s linear;

2、点击字母跳转到对应的字母城市

首先获取dom节点
使用dom.scrollIntoView()进行跳转

3、解决点击后el-popover不消失问题,通过测试发现因为 element-plus 版本导致

pnpm update element-plus

今天学习的有点多,就简单记录一下吧,通过今天的学习,理解了组件的封装并不一定只是一个功能的封装,也可以是多个功能的结合封装使用,在工作中可以把业务和功能尽量的分离,才能便于维护和提升。

下一步就是学习 城市选择按省份封装及完善城市选择组件 了。今天学习就先到这里吧。

坚持打卡,坚持学习,未来可期,加油😀~

0人推荐
随时随地看视频
慕课网APP