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>
相关推荐
RestCloud4 分钟前
ETLCloud中的数据转化规则是什么意思?怎么执行
数据库·数据仓库·etl
一个天蝎座 白勺 程序猿19 分钟前
Apache IoTDB(4):深度解析时序数据库 IoTDB 在Kubernetes 集群中的部署与实践指南
数据库·深度学习·kubernetes·apache·时序数据库·iotdb
XiaoMu_0011 小时前
【Vue vs React:前端框架深度对比分析】
vue.js·react.js·前端框架
.Shu.1 小时前
Redis zset 渐进式rehash 实现原理、触发条件、执行流程以及数据一致性保障机制【分步源码解析】
数据库·redis·缓存
君不见,青丝成雪1 小时前
大数据技术栈 —— Redis与Kafka
数据库·redis·kafka
悟能不能悟1 小时前
排查Redis数据倾斜引发的性能瓶颈
java·数据库·redis
吃饭了吗1 小时前
elementplus组件文本框设置前缀
前端·vue.js·elementui
DemonAvenger1 小时前
事务管理:ACID特性与隔离级别详解
数据库·mysql·性能优化
前端小巷子1 小时前
从 Vue 2 到 Vue 3
前端·vue.js·面试
GDAL1 小时前
v-model 入门教程
前端·javascript·vue.js