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: () => ({})
}

 

posted @ 2020-04-10 14:14  猪脚踏浪  阅读(16683)  评论(0编辑  收藏  举报