呀呼!呀呼! 2023-04-01 01:48 采纳率: 77.3%
浏览 34
已结题

如何保留事件处理函数的默认参数和我自己传递的参数

在uniapp的官方文档中,NumberBox有一个事件是change,他的默认参数是value(输入框当前的value)
如图:

img

但是我在使用这个事件的时候,我需要额外的传递一个参数进去,当我把我额外的参数传递进去,这个默认的参数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参数才生效。

img

如图,这是控制台的输出,打印value是undefined。
我想同时保留两个参数应该怎么做?

额外问一句,如有解决方案,那么这个方案是通用的吗?当一个函数有默认参数时,我自己也需要传递参数,这个方案适用吗?

  • 写回答

1条回答 默认 最新

  • 前端-杏 2023-04-01 09:45
    关注
    
    <uni-number-box 
                              :min="1" 
                            class="numBox" 
                            @change="(value) => changeToCart(value,item)"
                            :value="item.goods_count"></uni-number-box>
    

    传参改成这样

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月3日
  • 已采纳回答 4月1日
  • 修改了问题 4月1日
  • 修改了问题 4月1日
  • 展开全部

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error