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>
相关推荐
周末吃鱼3 分钟前
mysql8.0支持CURRENT_DATE如何写
数据库·sql·mysql
kaico20186 分钟前
MySQL的窗口函数
数据库·mysql
ssshooter8 分钟前
复古话题:Vue2 的空格间距切换到 Vite 后消失了
前端·vue.js·面试
MM_MS18 分钟前
Halcon控制语句
java·大数据·前端·数据库·人工智能·算法·视觉检测
薛定谔的猫198220 分钟前
LlamaIndex(三) LlamaHub工具集
数据库·mysql·llamahub
小画家~33 分钟前
第四十六: channel 高级使用
java·前端·数据库
晴天¥38 分钟前
了解Oracle中的体系结构
数据库
小贵子的博客42 分钟前
Ant Design Vue <a-table>
前端·javascript·vue.js·anti-design-vue
DemonAvenger44 分钟前
Redis慢查询分析与优化:性能瓶颈排查实战指南
数据库·redis·性能优化
Li_yizYa1 小时前
Redis-常见数据类型及应用场景
java·数据库·redis