Invalid prop: type check failed for prop "getPageData". Expected Function, got Promise
时间: 2023-08-03 11:45:19 浏览: 100
这错误提示意味着你在组件中使用 `getPageData` 属性时,传入的值类型不正确。它期望的是一个函数类型,但你传入了一个 Promise 类型的值。
你需要检查一下你是如何传递 `getPageData` 属性的,并确保传递的是一个函数。如果你需要使用 Promise 类型的值,可以将其包装在一个函数中。例如:
```
<SomeComponent getPageData={() => fetchSomeData()} />
```
其中,`fetchSomeData()` 返回一个 Promise 类型的值,但它被包装在一个函数中,以便正确传递给 `getPageData` 属性。
相关问题
Invalid prop: type check failed for prop thDataArr. Expected , got Array
当在Vue项目中通过Props属性向子组件传递值时,如果传递的值的类型与子组件中定义的类型不匹配,就会出现Invalid prop: type check failed for prop的错误信息。在这个错误信息中,会提示期望的类型和实际传递的类型不匹配。例如,当传递一个数组给一个期望接收对象类型的props时,就会出现类似于Invalid prop: type check failed for prop thDataArr. Expected Object, got Array的错误信息。
解决这个问题的方法是,在父组件中传递给子组件的值的类型必须与子组件中定义的类型相匹配。如果子组件中定义的类型是对象,那么在父组件中传递给子组件的值也必须是一个对象。如果子组件中定义的类型是数组,那么在父组件中传递给子组件的值也必须是一个数组。
以下是一个解决这个问题的例子:
假设子组件中定义了一个props,期望接收一个对象类型的值:
```javascript
props: {
person: Object
}
```
在父组件中,如果传递一个数组给这个props,就会出现Invalid prop: type check failed for prop的错误信息:
```javascript
<template>
<div>
<child-component :person="['John', 'Doe']"></child-component>
</div>
</template>
```
正确的做法是传递一个对象给这个props:
```javascript
<template>
<div>
<child-component :person="{firstName: 'John', lastName: 'Doe'}"></child-component>
</div>
</template>
```
Invalid prop: type check failed for prop "onBlur". Expected Function, got Array
根据提供的代码,当传递给 "onBlur" 属性的类型不符合预期时,会出现 "Invalid prop: type check failed for prop 'onBlur'. Expected Function, got Array" 的错误。这个错误意味着你传递给 "onBlur" 的值应该是一个函数,但实际上却是一个数组。
为了解决这个问题,你需要确保将一个函数传递给 "onBlur" 属性。
阅读全文