Vue3 | TypeScript. Как задать тип для props, если на входе массив объектов?

Есть массив объектов, который будет воходящим параметром в vue-компоненте:

const items = reactive([
  { type: 'Java Script', is_main: true },
  { type: 'Python', is_main: false },
  { type: 'Go', is_main: false },
  { type: 'PHP', is_main: false },
]);

Внутри компонета:

const props = defineProps<Props>();
interface Props {
    items: string[]; <--
}

При монтировании я хочу найти объект с определенным условием:

picture

Но TS судя по-всему string[] воспринимает буквально как набор строк, а не объектов:

any
Property 'is_main' does not exist on type 'string'.ts(2339)

Как правильно задать тип для props, если на входе массив объектов?


Ответы (1 шт):

Автор решения: smellyshovel

Так и задайте:

interface Props {
  items: {
    type: string;
    is_main: boolean;
  }[];
}

defineProps<Props>()
→ Ссылка