在使用子组件调用父组件方法:this.$emit(方法名, 参数1, 参数2),该方法的返回值是vue对象,而不是父组件方法的return值。此时要用回调函数作为参数,父组件里执行该回调函数,返回值后给子组件,然后子组件再接收。

// 父组件
<template>
    <List @delCheckFun="delCheckFun"></List>
</template>
<script>
    export default {
        methods: {
             delCheckFun(row, callback) {
                    let result = false;
                    //业务逻辑代码...
                    callback(result); // 执行作为参数的函数,注意:callback(true)写法,要赋值给变量result
             }
        }
    }
</script>
 

// 子组件
export default {
    methods: {
        remove(row) {
            let result = false
            this.$emit('delCheckFun', row, val => { result = val }) // 传函数给父组件
            return result
        }
    }
}

Logo

前往低代码交流专区

更多推荐