呀呼!呀呼! 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 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了