使用说明
1、在子组件中调用defineEmits并定义要发射给父组件的方法 const emits= defineEmits([‘foldchange’])
2、使用defineEmits会返回一个方法,使用一个变量emits(变量名随意)去接收
3、在子组件要触发的方法中,调用emits并传入发射给父组件的方法以及参数 emits(‘foldChange’, value)
父组件:
function getCron(cron: string): void {
formData.value.cron = cron;
}
/
<cronAdd ref="cronAddRef" @getCron="getCron"></cronAdd>
子组件:
ts-plugin报错信息提示emits就只接受一个参数,即方法名, 第二个参数值就会报错,
正确写法:
子组件:
定义方法时,同时定义方法所需参数及类型value
function changeCron(val: string): void {
emits("getCron", val)
}
defineEmits中多种定义方式:
// defineEmits适用于父组件向子组件传递方法
const emits = defineEmits<{
(e: 'update:modelValue'): void;
(e: 'confirm'): void;
(e: 'close'): void;
}>();
const emits = defineEmits([
'update:visible',
'closeDialog',
'openDialog',
'comfirmBtn'
]);
const emit = defineEmits(['update:modelValue', 'handleClose', 'transformFileUrl']);
const emits = defineEmits(['update-cropper', 'colse-dialog', 'upload-img'])