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>
相关推荐
qwy7152292581633 分钟前
13-R数据重塑
服务器·数据库·r语言
Bio Coder5 分钟前
R语言安装生物信息数据库包
开发语言·数据库·r语言
钊兵1 小时前
数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库·mysql·postgresql·oracle·达梦·驱动
祈澈菇凉2 小时前
Webpack的基本功能有哪些
前端·javascript·vue.js
weixin_425878232 小时前
Redis复制性能优化利器:深入解析replica-lazy-flush参数
数据库·redis·性能优化
左灯右行的爱情2 小时前
Redis数据结构总结-listPack
数据结构·数据库·redis
隔壁老王1563 小时前
mysql实时同步到es
数据库·mysql·elasticsearch
想要打 Acm 的小周同学呀3 小时前
Redis三剑客解决方案
数据库·redis·缓存
rkmhr_sef3 小时前
Redis 下载与安装 教程 windows版
数据库·windows·redis