自定义组件 事件处理 (包括 自定义组件的v-model )

点击事件 在组件内判断处理事件

点击事件 把子组件的事件抛出,在父组件中处理

可以通过传方式 在子组件内调用方法处理

父组件 调用 子组件
<risk-qa-form
      :item="selectedItem"
      v-if="riskQaFormModalVisible"
      v-model="riskQaFormModalVisible"
      :func="test"
    ></risk-qa-form>

方法
methods: {
    test() {
      alert(1);
    },}

子组件
props: {
    
    func: {
      type: Function,
    },
  },

调用也是在methods里面
this.func();

自定义组件的v-model

参考https://blog.csdn.net/weixin_43912081/article/details/120378643
组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件。
大概案例 简单写写

父组件 调用 子组件------这里的是个弹框
<modal-risk-evaluation-vue
      v-if="visibleRiskEvaluation"
      v-model="visibleRiskEvaluation"
    >
</modal-risk-evaluation-vue>

data()return 里面
visibleRiskEvaluation: false,

点击其他事件的时候
   showRiskEvaluation() {
      this.visibleRiskEvaluation = true;
    },

子组件
 <a-modal
    :visible="value"
    @cancel="clickcancel()"
  ></a-modal>

  props: {
    value: {
     -------------------------这里的value是外面v-model默认的visibleRiskEvaluation
      type: Boolean,
      require: false,
    },
  },

clickcancel() {
      this.$emit("input", false);
     ----------------------------------这里的input也是默认的事件 让外面的visibleRiskEvaluation=false
    },
posted @   zongkm  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示