Vue · Senior · Запитання 36 з 75
Як написати узагальнений компонент (наприклад, типізований select)?
<script setup lang="ts" generic="T extends { id: string }">
defineProps<{ items: T[]; modelValue: T | null }>();
defineEmits<{ "update:modelValue": [value: T] }>();
</script>- ✓Правильна відповідь: Через атрибут
genericу<script setup> - 2Лише через
defineComponent<T>() - 3Компоненти Vue не можуть бути узагальненими
Пояснення
Параметр типу виводиться з props у місці використання, тому props слотів і події типізовані під конкретний тип елемента.