Extraneous non-emits event listeners (xxx) were passed to component but could not be automatically i

在Vue3中遇到一个关于非emits事件侦听器(editItem、delItem)的错误,错误提示指出这些侦听器无法自动继承,因为组件呈现的是片段或文本根节点。尝试过在子组件添加根元素和修改父组件,但问题依然存在。最终发现需要在父组件中声明使用'emit'选项来解决这个问题,这与Vue3通常无需根元素的特点有所冲突。
摘要由CSDN通过智能技术生成

 

Extraneous non-emits event listeners (editItem, delItem) were passed
to component but could not be automatically inherited because
component renders fragment or text root nodes. If the listener is
intended to be a component custom event listener only, declare it
using the “emits” option.
无关的非emits事件侦听器(editItem、delItem)已传递给组件,但无法自动继承,因为组件呈现片段或文本根节点。如果侦听器仅用于组件自定义事件侦听器,请使用“emits”选项声明它。

 

我就以为是我父子组件传值中的emit写法有问题,还特意专门用方法来包裹下,结果是一直报这个错误。百度说是有个根组件才行。。。

<button class="edit_btn" @click="edit(i) ">编辑</button>
<button class="del_btn" @click="$emit('delItem',i)">删除</button>

 const edit = (index) => {
      emit('editItem', index);
    };

于是我在子组件加了个根元素,还是报这个错误。。。
 

于是我又去给父组件加。。。

错误消失。。。
我不理解,vue3不是有个特点就是不需要写根元素吗,template下能有多个子元素。。。不是很理解

转载:

Extraneous non-emits event listeners (xxx) were passed to component but could not be automatically i_extraneous non-emits event listeners (updateoption-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值