网站首页 > 文章精选 正文
背景
最近在二次封装一些组件库的组件,比如 Input、InputNumber、Select 这些组件,并且是多个组件凑在一起的,比如下面这个组件,是需要将 Input、InputNumber 封装在一起的
如果需要传 props 进去的话,我可以定义两个参数:
- inputProps:接收 Input 的参数
- numberProps:接收 InputNumber 的参数
这样就能分别给这两个组件传参数了,但这不是今天文章的重点
怎么传插槽?
上面是给这两个组件传 props,那如果要给这两个组件传插槽怎么做呢?我们首先来要思考一个问题,这两个组件具备一些重名的插槽名称,就比如 prefix 这个插槽
那我们要怎么去做,才能更好地给这两个组件传插槽呢?先来讨论外部怎么传,想要保证这两个组件的插槽传递不发生冲突,咱们可以使用插槽别名,这也是很多组件库现在采用的方案,代码如下
那么组件内部应该怎么去接收这些插槽呢?这就可以使用插槽转发的方案,我们先看看 Comp 内部遍历 inputSlots 是什么
可以看到当 v-for 遍历一个对象的时候,键值对是倒过来的,跟数组不一样
我们可以利用这个特性,做插槽转发
达到了我们想要的效果~
猜你喜欢
- 2025-05-23 Vue3+Axios网络请求封装
- 2025-05-23 推荐一个vue插件,基于hiprint封装的可视化报表设计与打印工具
- 2025-05-23 基于Ant Design Vue 封装useTable hooks
- 2025-05-23 Vue3 如何封装一个合格的【获取验证码组件】
- 2025-05-23 浅析vue封装自定义插件
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)