vue.js:634 [Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object found in ---> <ElTable> at packages/table/src/table.vue <Root>
时间: 2023-02-07 14:01:18 浏览: 317
这个错误信息是提示你在使用 Vue.js 的组件 <ElTable> 时,你传入的 prop "data" 的类型不正确。根据错误信息,你传入的是一个 Object 类型的数据,但是预期应该是 Array 类型的数据。
应该检查你在使用 <ElTable> 组件时,是否正确传入了 data prop,并且确保它是一个数组类型的数据。
希望这能帮到你。
相关问题
vue.runtime.esm.js:619 [Vue warn]: Invalid prop: type check failed for prop "data". Expected Array, got Object
这个警告是由Vue引擎生成的,它表明在组件中传递了一个不正确的数据类型。根据警告信息,期望的数据类型是Array,但实际传递的是一个Object。
要解决这个问题,你需要检查你的组件中使用的props属性。确保在父组件中将正确的数据类型传递给子组件的"data"属性。如果你的意图是传递一个数组,确保将一个数组作为prop传递给子组件。
另外,你还可以使用Vue提供的prop验证机制来确保传递给子组件的数据类型符合预期。你可以在子组件中定义一个props选项,并指定"data"属性的类型为Array,这样Vue会在开发模式下进行类型检查,并在不匹配时生成警告信息。
例如,你可以在子组件中添加以下代码来验证props:
```javascript
props: {
data: {
type: Array,
required: true
}
}
```
这样,当父组件传递一个非数组类型的值给子组件的"data"属性时,Vue会生成一个警告并指出数据类型不匹配的问题。
vue.esm.js:628 [Vue warn]: Invalid prop: type check failed for prop "data". Expected Object, got FormData found in
引用\[1\]:在代码中,通过将对象转换为数组来解决问题。通过遍历对象的属性,将属性值添加到一个新的数组中,然后将该数组赋值给common_table_info变量。这样做可以避免类型错误。\[1\]
引用\[2\]:根据提供的代码和数据,问题出在common_table_info这个变量上。在Vue中,common_table_info被绑定到一个表格的数据上,而该表格的data属性期望接收一个数组。然而,实际上common_table_info是一个对象,而不是一个数组。这就导致了类型检查失败的错误。\[2\]
为了解决这个问题,你需要确保common_table_info是一个数组,而不是一个对象。你可以通过修改代码,将res.data.data.room_type_price对象转换为数组,然后将该数组赋值给common_table_info。这样,common_table_info就会成为一个符合要求的数组,可以被正确地渲染到表格中。
#### 引用[.reference_title]
- *1* *2* [vue常见错误:Invalid prop: type check failed for prop “data“. Expected Array, got Object](https://blog.csdn.net/qq_41485414/article/details/90263613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文