改变组件默认上报事件的参数,添加额外参数

改变组件默认上报事件的参数,添加额外参数

vue 开发中时常会进行组件封装,稍微复杂点的组件通常会上报事件给父级组件

然而组件默认返回的参数可能不能满足业务场景需求,++而组件作为通用组件,也不适合做额外封装++

  • 往往这种时候,只是想在组件上报事件参数基础上添加额外参数,触发父组件的方法

++假设++我封装了一个卡片选择组件(主要是针对样式进行封装),点击卡片后,会通过事件上报当前点击的卡片 item 对象

然而这些卡片是循环渲染出来的,父组件在收到上报的事件后,还额外需要知道当前点击的是循环里的第几个卡片

直接写个匿名函数,将原有参数接收后传递给页面函数

@change="(value) => factorChange(value, item)"

html 复制代码
<el-select v-model="item.value" :placeholder="`请选择${item.factorsName}`"  @change="(value) => factorChange(value, item)">
  <el-option v-for="factorItem in item.detailList" :key="factorItem.id" :label="factorItem.remark" :value="factorItem.value">
    <div class="user-tag">{{ factorItem.remark }}</div>
  </el-option>
</el-select>

++或者++组件里面只需要一个标题,调用时也只给了一个标题,上报事件上报的也是标题,而父组件想要得到的是该项的整个数据对象

$event 也可以拿来代表原有参数

  • @submit="handleSubmit(item, $event)"
html 复制代码
<part-title @title-click="handleModuleClick(item, $event)" />
相关推荐
非优秀程序员8 小时前
第07章 孙德良的阳谋|《互联网产品恩仇录》
javascript·后端
非优秀程序员8 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
程序员大阳12 小时前
HTML+CSS+JS对话式实战(5)-活动管理页之查看报名名单的实现
javascript·css·html·查看报名名单
新*14 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
tryCbest15 小时前
Vue系列——第 15 篇:内置组件全家桶——Transition、Teleport、Suspense、KeepAlive
前端·vue.js
OpsEye15 小时前
别再挨个充会员了:多模型编码,最麻烦的从来不是选模型
javascript·ai编程
学以智用17 小时前
jsencrypt.js 完整详解
javascript
Hilaku20 小时前
你们公司有 35 岁以上的前端吗?
前端·javascript·程序员
徐小夕20 小时前
开源Vector-Graph-RAG:向量+图谱双引擎,打破纯向量RAG的效果天花板
前端·vue.js·github
鸿蒙开发20 小时前
小程序存档写到一半怎么办?双槽保存与损坏恢复实战
前端·javascript·react.js