<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
- 如果
checkOne(item.skuId,flag)
则 第二个值,获取不到,控制台输出 undefined - 如果
checkOne(skuid),在 setup 中,checkOne(skuId,$event)
也是 undefined
正确做法:
@change="($event) => checkOne(item.skuId, $event)"
这样 可以 自己传参 也可以拿到默认参数@change="checkOne(item.skuId, $event)" 这样写 也可以。。。