Website-Suche

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 Parametertyp DefineProps<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.

Verwandte Artikel