问题:发现子组件调用父组件事件的时候,对应方法里的打印打印了多次,而实际只调用了一次。
解决:
子组件是弹窗,弹窗的确定按钮自带事件名是:@ok=“submit”
在对应方法里调用了emit:
async function submit() {
await validate();
const data = await getFieldsValue();
console.log(data);
closeModal();
emit('ok', data);
}
注意自定义事件名也是ok,与原事件名冲突,所以会有多次调用现象。修改父组件自定义事件名称(注意避免组件原有事件名),再次尝试,发现调用次数符合预期的一次了。