You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue子组件select值变更后触发父组件指定函数的实现问题

Vue子组件选择值变化触发父组件方法实现方案

你当前子组件已经通过$emit正确抛出了currencyType自定义事件,只需调整父组件的事件绑定逻辑即可,两种常用实现方式:

方式一:模板内直接调用(适合简单逻辑)

直接在@currencyType绑定的回调中同时执行赋值和myFunction调用,修改后父组件模板代码如下:

<app-select-coin
  @coin="body.value = $event"
  @currencyType="(val) => { 
    body.currencyType = val; 
    myFunction(); 
  }"
  :data="body"
/>

如果myFunction需要用到子组件传递过来的选中值,直接改成myFunction(val)即可。

方式二:封装独立处理函数(适合复杂逻辑、易维护)

先在父组件的methods中新增事件处理函数,把赋值、调用方法的逻辑统一封装:

methods :{
   myFunction() {
      // 原有逻辑
   },
   // 新增currencyType事件处理函数
   handleCurrencyChange(val) {
     this.body.currencyType = val
     // 调用目标方法
     this.myFunction()
   }
}

再修改父组件模板的事件绑定:

<app-select-coin
  @coin="body.value = $event"
  @currencyType="handleCurrencyChange"
  :data="body"
/>

内容的提问来源于stack exchange,提问作者maistack123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:06:02