企业网站 html模板北京家装公司十大排名
2026/6/20 10:59:12 网站建设 项目流程
企业网站 html模板,北京家装公司十大排名,团队拓展口号,有什么好的加盟店项目Vue 警告「Expected Object, got Array」#xff1f;3 步教你把类型对齐#xff0c;prop 立刻合法#xff01; 正文目录 报错含义#xff1a;Vue 在挑剔什么类型#xff1f;5 大高频翻车场景 修复代码万能兜底#xff1a;允许多类型与默认值预防 checklist#…Vue 警告「Expected Object, got Array」3 步教你把类型对齐prop 立刻合法正文目录报错含义Vue 在挑剔什么类型5 大高频翻车场景 修复代码万能兜底允许多类型与默认值预防 checklist不再踩坑一句话总结一、报错含义Vue 在挑剔什么类型当你在控制台看到Invalid prop value: expected Object, got Array.Vue 在告诉你「你传给xxx的 prop 是 Array但组件声明它是 Object。」本质prop 类型与传入值不匹配。二、5 大高频翻车场景 修复代码① 父组件传 Array子组件声明 Object!-- 父组件 ❌ -- MyComp :data[1, 2, 3] / !-- 子组件 ❌ -- script setup langts defineProps({ data: Object }); // 期望 Object /script修复对齐类型或允许多类型!-- ✅ 传对象 -- MyComp :data{ list: [1, 2, 3] } /或允许多类型defineProps({data:[Object,Array]});// ✅ 允许多类型② 异步数据初始为 Array!-- 父组件 ❌ -- MyComp :dataitems / script setup const items ref([]); // 初始 Array /script修复初始空对象或允许多类型constitemsref({list:[]});// ✅ 初始对象// 或允许多类型defineProps({data:[Object,Array],default:()({})});③ 泛型未约束返回 Array// ❌ 泛型未约束返回 ArrayfunctiongetDataT():T{return[]asT;// T 被推断为 Array}constdatagetData();// Array修复给泛型加约束functiongetDataTextendsRecordstring,any():T{return{}asT;// ✅ 约束为对象}④ 第三方库返回 Array// ❌ 库返回 Arrayimport{load}fromlodash;constdataload(user);// Array修复断言或封装constdataload(user)asRecordstring,any;// 或封装functionloadUser():Recordstring,any{returnload(user)asRecordstring,any;}⑤ 组件 props 未定义类型// ❌ props 未定义类型默认 unknownconstpropsdefineProps();props.data;// unknown修复给 props 上类型script setup langts interface Props { data: Recordstring, any } const props definePropsProps(); // ✅ 具体类型 /script三、万能兜底允许多类型与默认值场景方案示例多类型数组类型defineProps({ data: [Object, Array] })默认值default 函数default: () ({})运行时校验validatorvalidator: (v) typeof v object四、预防 checklist所有 prop给具体类型而非unknown异步数据初始为对象或允许多类型泛型加约束T extends Recordstring, any第三方库断言或封装控制台「Expected Object」 立即对齐类型或允许多类型五、一句话总结「Expected Object, got Array」 传入值与 prop 类型不匹配。用「具体类型 多类型 默认值」三件套让 prop 永远合法警告瞬间消失最后问候亲爱的朋友们并邀请你们阅读我的全新著作 《Vue.js 3企业级项目开发实战微课视频版》

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询