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>
相关推荐
m0_7485548112 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
QQ1__81151751513 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
IT枫斗者13 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
早日退休!!!13 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
xcLeigh13 小时前
KES数据库性能优化实战
数据库·sql·性能优化·sql优化·数据性能
阿正呀14 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
yoyo_zzm14 小时前
Laravel9.x新特性全解析
数据库·mysql·nginx
2501_9012005314 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
難釋懷14 小时前
Vue混入
前端·javascript·vue.js
訾博ZiBo14 小时前
Vue3响应式高阶用法之toRaw()
javascript·vue.js·ecmascript