Vue.js/uniapp传递数组警告:传递了不属于属性的额外属性给组件,但无法自动继承

遇到问题

uniapp报错:[Vue warn]: Extraneous non-props attributes (xx) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.

问百度

搜索到基本都是这样的答案

第一种情况,就是你有需要传输一个prop属性的数据给子组件,但是你在子组件中忘记用defineProps接收,无意中触发了透传 Attributes,在使用setup语法糖的情况下注意使用defineProps接收props属性数据。

第二种情况,就是你不需要传输一个prop属性的数据给子组件,但是你在整理代码时,忘记将父组件的子组件标签中的:xxx="xxx"删除

第三种情况,你确确实实需要传递一个非prop属性数据到子组件中,但子组件中存在多个根节点,你可以在该根节点使用v-bind="$attrs"进行显式绑定,就可以避免报错了。

疑惑

疑惑的是我不是组件问题,而是页面传参后导致的问题

解决

吃饭回来继续加班,仔细对比了一下英文跟中文的提示,看到root nodes,找到了问题。

报错的代码:

加一层root nodes解决:

后续再看之前百度搜索到的那些解决方案,感觉组件里报错也可能是这个问题导致的,具体没有去验证了。毕竟我非专业前端,能用就行。

相关推荐
....4923 小时前
Vue3 + Element Plus 实现可搜索、可折叠、可拖拽的部门树组件
前端·javascript·vue.js
bitbitDown4 小时前
重构缓存时踩的坑:注释了三行没用的代码却导致白屏
前端·javascript·vue.js
Solon阿杰4 小时前
前端(react/vue)实现全景图片(360°)查看器
javascript·vue.js
前端程序猿i5 小时前
用本地代理 + ZIP 打包 + Excel 命名,优雅批量下载跨域 PDF
前端·javascript·vue.js·html
Danny_FD5 小时前
Vue2 中使用vue-markdown实现编辑器
前端·javascript·vue.js
前端赵哈哈5 小时前
Vue 3 + TypeScript 项目模板
前端·vue.js·vite
一只大黑洋5 小时前
Clipboard.js 复制内容
前端·javascript·vue.js
鹏多多5 小时前
vue混入mixins详解和生命周期影响
前端·javascript·vue.js
柯南95276 小时前
Vue 3 响应式系统核心:dep.ts 解析
vue.js
岁月宁静6 小时前
MCP 协议应用场景 —— Cursor 连接 Master Go AI
前端·vue.js·人工智能