【开发问题记录】vue3中 需要给函数传递组件自定义事件返回的值还要传递父标签 v-for 中的 某个值 ,处理方法

<tr
              v-for="item in $store.getters['cart/validList']"
              :key="item.skuId"
            >
              <td>
                <XtxCheckbox
                  :modelValue="item.selected"
                  @change="($event) => checkOne(item.skuId, $event)"
                />
                <!-- 
 @change="checkOne" 如果不加括号 只能接受到 checkbox 组件传递出来的值
如果加括号,传递 skuId 则 接收不到 checkbox 组件传递出来的值
@change="($event) => checkOne(item.skuId, $event)" 这样 可以 自己传参 也可以拿到默认参数
@change="checkOne(item.skuId, $event)" 这样写 也可以。。。
                 -->
              </td>
            </tr>

Xtxcheckbox 是自定义的组件,它有一个 @change 的自定义事件,返回的是 最新的值, 在父组件绑定的 checkOne 事件,不仅要传递 @change 自定义事件的返回值,还要传递 item.skuId

  1. 如果 checkOne(item.skuId,flag) 则 第二个值,获取不到,控制台输出 undefined
  2. 如果 checkOne(skuid),在 setup 中,checkOne(skuId,$event) 也是 undefined

正确做法:

  • @change="($event) => checkOne(item.skuId, $event)" 这样 可以 自己传参 也可以拿到默认参数
  • @change="checkOne(item.skuId, $event)" 这样写 也可以。。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值