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

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

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)" />
相关推荐
心.c20 小时前
虚拟滚动列表
前端·javascript·vue.js·js
NEXT0621 小时前
深拷贝与浅拷贝的区别
前端·javascript·面试
PieroPc21 小时前
用html+css+js 写一个Docker 教程
javascript·css·docker·html
倚肆21 小时前
WebSocket连接教程示例(Spring Boot + STOMP + SockJS + Vue)
vue.js·spring boot·websocket
Joker Zxc1 天前
【前端基础(Javascript部分)】1、JavaScript的基础知识(组成、应用、编写方式、注释)
开发语言·前端·javascript
Lee川1 天前
深入浅出:从JavaScript内存模型理解“深拷贝”的必要性与实现
javascript
用户5757303346241 天前
🔥 面试官:手写 Promise 封装 AJAX?这 5 个考点 90% 的人跪了!
javascript
上单带刀不带妹1 天前
【Axios 实战】网络图片地址转 File 对象,附跨域解决方案
开发语言·前端·javascript·vue
SuperEugene1 天前
前端模块化与 import/export入门:从「乱成一团」到「清晰可维护」
前端·javascript·面试·vue
程序员林北北1 天前
【前端进阶之旅】Vue3 + Three.js 实战:从零构建交互式 3D 立方体场景
前端·javascript·vue.js·react.js·3d·typescript