Vue:为prop设置默认值的最佳方法是Array?

时间:2019-08-12 23:05:59

标签: vue.js

我有一个组件,其属性为orders,该属性是一个返回客户订单的数组。装入组件后,它将向父对象发出调用以进行API调用,然后刷新prop。如果用户没有订单,则订单很可能是一个空数组,在其中我会显示一条消息:“该用户不存在任何订单”。
问题是,由于我将其作为类型数组的道具,因此道具的默认值为[](空数组),因此即使在初始组件加载时,模板也会看到订单为{{1} }并显示“没有订单消息”,但稍后在刷新道具时显示订单。
我正在尝试将[]的初始值设置为null,以便我可以处理尚未从api设置订单的情况。我尝试添加orders,以便拥有这样的道具:

default: null

但这仍然无法正常工作,因为props { orders: {type: Array, default: null} } 道具在页面加载时仍然是一个空数组。

1 个答案:

答案 0 :(得分:0)

对于数组,您需要从如下函数返回默认值:

props {
  orders: { type: Array, default: function() { return null; }
}

您还可以使用箭头功能

props {
  orders: { type: Array, default: () => null }
}