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>
相关推荐
wuhen_n1 小时前
双端 Diff 算法详解
前端·javascript·vue.js
爱勇宝1 小时前
别再混用了!import.meta.env 与 process.env 的本质差异一次讲透
前端·javascript·vue.js
从文处安18 小时前
「九九八十一难」组合式函数到底有什么用?
前端·vue.js
用户114896694410519 小时前
VUE3响应式原理——从零解析
vue.js
用户830407130570119 小时前
SPA 首屏加载速度慢怎么解决?
vue.js·webpack
一枚前端小姐姐19 小时前
低代码平台表单设计系统技术分析(实战三)
前端·vue.js·低代码
SuperEugene20 小时前
从 Vue2 到 Vue3:语法差异与迁移时最容易懵的点
前端·vue.js·面试
Leon20 小时前
新手引导 intro.js 的使用
前端·javascript·vue.js
Forever7_21 小时前
仅用一个技巧,让 JavaScript 性能提速 500%!
前端·vue.js
爱可生开源社区1 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba