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>
相关推荐
liqianpin11 天前
完美解决phpstudy安装后mysql无法启动
数据库·mysql
小Tomkk1 天前
化繁为简:Access 与 SQL 创新指南(第四篇)
数据库·sql
wuhen_n1 天前
5年前端,我为什么要all in AI Agent?
前端·vue.js·ai编程
optimistic_chen1 天前
【Vue入门】创建Vue工程环境和响应式函数
前端·javascript·vue.js·前端框架·html
cyber_两只龙宝1 天前
【MySQL】MySQL主从复制架构
linux·运维·数据库·mysql·云原生·架构
D.不吃西红柿1 天前
【无标题】
数据库·database·ai编程·数据库设计
Dylan~~~1 天前
PostgreSQL 数据库性能问题定位完全指南
数据库·postgresql
原来是猿1 天前
MySQL数据库基础
数据库
江不清丶1 天前
Text-to-SQL实战:从自然语言到数据库查询的智能数据分析Agent设计
数据库·sql·ai·数据分析
林恒smileZAZ1 天前
告别满屏 v-if:用一个自定义指令搞定 Vue 前端权限控制
前端·javascript·vue.js