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>
相关推荐
程序员-Benothing1 小时前
MySQL 的覆盖索引是什么?
数据库·mysql
数翊科技2 小时前
权威认可!HexaDB海纳分布式HTAP数据库通过CCRC EAL4增强级认证
数据库
星恒讯工业路由器2 小时前
MIMO与多天线技术:从5G到WiFi的工程解析
数据库·mysql·5g·工业物联网·mimo技术·天线隔离度·5g/wifi多天线
deepdata_cn2 小时前
向量数据库赋能研报智能分析、舆情检索、风险洞察
数据库·向量数据库
宿6742 小时前
tsconfig.node.json
前端·javascript·vue.js
涤生大数据2 小时前
Flink Agents 深度剖析:这才是生产级 AI Agent 该有的底座!
数据库·人工智能
海上小飞龙3 小时前
Redis 持久化:RDB 与 AOF
数据库·redis·缓存
hold?fish:palm3 小时前
redis中AOF 重写机制解析
数据库·c++·redis
Minxinbb3 小时前
TDSQL for MySQL修改统计信息参数
数据库·dba
2501_937860943 小时前
MySQL数据库入门|从零搞懂数据库基础、架构与存储引擎
数据库·mysql·架构