javascript - Nach dem Update von Vue 3 wirft withDefaults einen TypeScript-Fehler
Ich versuche, die Version von Vue 3 (3.2.x -> 3.3.x) zu aktualisieren.
Aber aus irgendeinem Grund habe ich einen Fehler, wenn ich withDefaults verwende:
<script setup lang="ts">
interface Props {
readonly title: string;
}
// THIS WORKS
const props = defineProps<Props>();
// THIS DOESN'T WORK (guess because of withDefaults)
const props = withDefaults(defineProps<Props>(), { title: '' });
...
</script>
Die Fehlermeldung ist:
Der Argumenttyp
DefineProps<Props, BooleanKey<Props>>kann nicht dem ParametertypDefineProps<Readonly<Props> & {}, keyof Readonly<Props> & {}>zugewiesen werden
Ich schätze, ich mache das genau so, wie es in den Dokumenten beschrieben ist, was ist hier das Problem?
Update: Es sieht so aus, als ob dieses Problem nur bei nicht-booleschen Feldern auftritt:
// THIS WORKS
withDefaults(defineProps<{readonly foo: boolean}>(), { foo: true });
// THIS DOESN'T WORK
withDefaults(defineProps<{readonly foo: string}>(), { foo: 'foo' });
Antwort #1
Dies ist der IDE-Fehler, der unter WEB-61241 verfolgt wird; bitte verfolgen Sie ihn für Updates
Als Umgehungslösung können Sie versuchen, die WebStorm 2023.2 EAP herunterzuladen und die Volar-Unterstützung in Preferences | Languages & Frameworks | TypeScript | Vue zu aktivieren.