【问题标题】:Invalid Prop Type in Vue Component - Not the Type I'd SetVue 组件中的无效道具类型 - 不是我设置的类型
【发布时间】:2021-09-26 17:39:31
【问题描述】:

所以我动态地传递组件和属性along these lines(这个想法是“堆叠”我将推进的各种组件)

无论如何,我已经在我的“堆叠”组件之一上声明了一些属性,它们的类型为:

  props: {
    pk: String,
    successUrl: String,
    cancelUrl: String,
    shippingAddressCollection: Boolean,
  },

但是,当它创建时,组件抱怨我的shippingAddressCollection 没有预期的类型,即:

无效的道具:道具“shippingAddressCollection”的类型检查失败。预期的对象,得到值为 false 的布尔值。

它需要一个 object 而不是 boolean。这怎么可能?

【问题讨论】:

  • 您应该首先检查您传递给道具的数据类型。如果在你的组件中传递一个像 `shippingAddressCollection = '{ someProperty: 'Some value'} ' 这样的对象,Vue 期望你声明的 prop 是一个对象,而不是布尔值。
  • 我根本无法重现这个~jsfiddle.net/9kp5wa1c。你绝对确定你的道具定义吗?
  • 是的。我假设这与我如何动态传递属性有关。
  • 不可能。错误消息实际上是在告诉您,您的道具定义有 shippingAddressCollection: Object 或等效的
  • 您能向我们展示您传递道具的组件吗?

标签: javascript vue.js


【解决方案1】:

@vue-stripe 引发了 prop 验证错误,而不是我假设的组件。

shippingAddressCollection 应该是一个对象(参见Props section under Getting Started)。

但就像错误所说的那样,它被赋予了一个Boolean 值。 shippingAddressCollection 应该是一个配置对象。这不是一个简单的Boolean标志,指示是否请求送货地址。

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 2020-11-02
    • 2021-07-27
    • 2017-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    相关资源
    最近更新 更多