Vue组件分装之$attrs、$listener传递属性及事件

使用v-bind="$attrs"来将父组件的属性传递给自定义按钮

使用v-on="$listeners"将父组件的事件监听器传递给自定义按钮。

使用$slots获取父组件所有插槽以及作用域插槽对应的参数#[name]="scopeData"

这样,自定义按钮就能够直接响应父组件的事件,而不需要手动触发。

javascript 复制代码
  <Select ref="selectRef" v-bind="$attrs" v-on="$listener">
    <template v-for="(value, name) in $slots" #[name]="scopeData">
      <slot :name="name" v-bind="scopeData || {}"></slot>
    </template>
    <Option v-for="(item, index) in optionDatas" :value="item.value" :key="item.value + index">{{
      item.label
    }}</Option>
  </Select>
相关推荐
james的分享4 分钟前
大数据领域核心 SQL 优化框架Apache Calcite介绍
大数据·sql·apache·calcite
断手当码农4 分钟前
Redis 实现分布式锁的三种方式
数据库·redis·分布式
菜鸟小九17 分钟前
redis原理篇(基本数据结构)
数据结构·数据库·redis
没有bug.的程序员20 分钟前
电商秒杀系统深度进阶:高并发流量建模、库存零超卖内核与 Redis+MQ 闭环
数据库·redis·缓存·高并发·电商秒杀·流量建模·库存零超卖
先做个垃圾出来………30 分钟前
Python常见文件操作
linux·数据库·python
轩情吖32 分钟前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
LaughingZhu32 分钟前
Product Hunt 每日热榜 | 2026-02-25
数据库·人工智能·经验分享·神经网络·chatgpt
Cherry的跨界思维33 分钟前
【AI测试全栈:质量】47、Vue+Prometheus+Grafana实战:打造全方位AI监控面板开发指南
vue.js·人工智能·ci/cd·grafana·prometheus·ai测试·ai全栈
Flobby52933 分钟前
深入理解 MySQL 锁:从全局锁到死锁检测
数据库·后端·mysql
是小崔啊34 分钟前
MySQL22 - 分库分表的聚合问题
数据库