vue-property-decorator @Prop如何使用接口定义数组

hoy*_*han 5 typescript vue.js

'use strict'

import Vue from 'vue'
import { Prop, Watch } from 'vue-property-decorator'

interface ITabs {
    name: string
    value: string
}

export default class extends Vue {
    @Prop({
        type: Array,
        default() {
            return []
        }
    })
    public tabs!: ITabs[] // TS2416
}
Run Code Online (Sandbox Code Playgroud)

TS2416:类型“默认”的属性“选项卡”不能分配给基本类型“对象与记录和Vue”的相同属性。类型'ITabs []'不可分配给类型'{name:“”; 值:“”;} [] | 未定义”。类型'ITabs []'不能分配给类型'{name:“”; 值:“”;} []'。类型'ITabs'不可分配给类型'{name:“”; 值:“”;}'。属性“名称”的类型不兼容。类型'string'不能分配给类型'“”'。

我想在Prop Array中使用接口,我该怎么办?

Ofe*_*ova 3

如果有人像我一样挣扎,这对我有用:

@Prop({ default: () => {
        return [ ]
    }
    }) private tabs!: ITabs[];
Run Code Online (Sandbox Code Playgroud)