Vue · Senior · Frage 36 von 75
Wie schreibt man eine generische Komponente (z. B. ein typisiertes Select)?
<script setup lang="ts" generic="T extends { id: string }">
defineProps<{ items: T[]; modelValue: T | null }>();
defineEmits<{ "update:modelValue": [value: T] }>();
</script>- 1Nur mit
defineComponent<T>() - 2Gar nicht: Vue-Komponenten sind nie generisch
- 3Mit dem Attribut
generican<script setup>
Antwort zeigen
Richtige Antwort: Mit dem Attribut generic an <script setup>
Erklärung
Der Typparameter wird an der Verwendungsstelle aus den Props abgeleitet, sodass Slot-Props und Events für den konkreten Elementtyp typisiert sind.