Vue自定义组件中Props类型为数组或对象
自定义弹框组件时,需要在弹框内显示要选择的人员列表,需要组件中的对应字段接收一个Array数组,默认返回空数组[],直接定义空数组报错,代码如下:
props:{ options: { type: Array, default: [] } }
提示错误如下:
30:9 error Type of the default value for 'options' prop must be a function vue/require-valid-default-prop
✖ 1 problem (1 error, 0 warnings)
错误信息提示,不能直接定义空对象的默认值,必须使用 工厂函数 return 回一个默认值。
修改代码如下,问题解决:
props:{ options: { type: Array, default: () => [] //default: function () { return [] } } }
综合其他类型
refAge: { type: Number, default: 0 },refName: { type: String, default: '' }, hotDataLoading: { type: Boolean, default: false }, hotData: { type: Array, default: () => { return [] } }, getParams: { type: Function, default: () => () => {} }, meta: { type: Object, default: () => ({}) }