在uniapp的官方文档中,NumberBox有一个事件是change,他的默认参数是value(输入框当前的value)
如图:
但是我在使用这个事件的时候,我需要额外的传递一个参数进去,当我把我额外的参数传递进去,这个默认的参数value就失效了,我想同时保留两个参数应该怎么做?
(重点代码在第一个代码块的倒数第六行,绑定change事件这里)
<view class="shopGoods">
<view class="shopGoodItem" v-for="(item,index) in cart" :key="index">
<view class="goods-item-left">
<radio checked color="#C00000"></radio>
<image class="goods-pic" :src="item.goods_small_logo || defaultPic"></image>
</view>
<view class="goods-item-right">
<view class="goods-info-box">
<view class="goods-name">
{{item.goods_name}}
</view>
<!-- 商品价格 -->
<view class="goods-price">¥{{item.goods_price}}</view>
<!-- 商品数量 -->
<uni-number-box
:min="1"
class="numBox"
@change="changeToCart(value,item)"
:value="item.goods_count"></uni-number-box>
</view>
</view>
</view>
</view>
methods: {
...mapActions('m_cart', ['addToCart']),
changeToCart(value,item) {
console.log(value,item);
// this.addToCart(item)
}
},
如图,我在使用绑定change事件的时候,需要额外传递一个v-for的里的item参数,但是我这样写之后,value参数是失效的,变成了undefined,只有写成@change="changeToCart()",这个value参数才生效。
如图,这是控制台的输出,打印value是undefined。
我想同时保留两个参数应该怎么做?
额外问一句,如有解决方案,那么这个方案是通用的吗?当一个函数有默认参数时,我自己也需要传递参数,这个方案适用吗?