Props传参v-for后TS报错对象类型是unknow

Props传参v-for后TS报错对象类型是unknow_第1张图片

 此时的groups是props传过来的参数,vue3在模板里面使用props也需要加props。

import { defineProps} from 'vue'
const props = defineProps({
  groups: {
    type: Array ,
    default: null
  }
})

 1.此时需要定义一个ts文件对group进行定义类型即可


/**
 * type.ts
 */ 
 export  type IGroup = {   type不能忘记写
  name: string
  color: string
  count: number
  status: string
  icon: string
  headers: [{ name: string; key: string; format: any }]
  data: any[]    这里应该还需要细加定义,但是我偷懒了
  operators: [
    {
      name: string
      icon: string
      handle: any
    }
  ]
}

2.在组件中引入该类型

import { defineProps, type PropType } from 'vue'
import type { IGroup } from '@/api/types'   PS:这里引入要写前面type

const props = defineProps({
  groups: {
    type: Array as unknown as PropType<[IGroup]>,  需要先定义unknown 
    default: null
  }
})

你可能感兴趣的:(实习问题-vue,前端,javascript,vue.js,typescript)