Skip to content

defineProps bug when Interface properteis contain two or more : colons #8910

@cicin411

Description

@cicin411

Vue version

3.3

Link to minimal reproduction

https://play.vuejs.org/#eNqtU1Fv0zAQ/iuHX9JKoxXsLaRFgCoBEjCxIR4wmrz4mnk4Z8t2uk5R/juXpGuRNvWBLU+57/vO+b7cuRXvvJ9tGhS5KGIZjE8QMTUerKJqIUWKUiwlmdq7kKCFgGvoYB1cDRm3ZUxRwrBWJcKFurJ4FpyPklpJwA9qk3o0hyvnLCp6M+KlKq9Rf3H6AZM5+uG1Spjj1ivSqLO3OUwIb1e7OmcTSjuyd6Do7tfvKSyWsHFGPzghosUyHU4439XHTugkPZ7p9XOEunxyqMv/DiWpdBQT+D7NAjSuDY3RikPK5WTK+oO4jhUs+qlPso9orYOfLlj9IptKKubjwvB6cJGw9pb9cQVQXL9atu3Q3HXFnKsBNeSbBJuXNf8iy8vF/LBdxXzfLU545fjTa1PNbqIj3svhr0tRutobi+GbT4atSZHDbh5SKHZ2+3nAUmjw5B7neZR/HsFv4rbHpDgLGDFsUIo9l1SoMI306vwrbvl9T7LzxrL6CPkdo7NN73GUvW9Is+1/dIPbT8ONMlRdxNU2IcX7UL3RXtkNein4ln04Ev1g93R2OvTxuEX3F/4cTSM=

Steps to reproduce

export interface ccTableProps
{
editable: boolean;
cachedMode: boolean;
'onUpdate:expanded'?: (newExpanded: readonly any[]) => void;
'onUpdate:selected'?: (newSelected: readonly any[]) => void;
}

defineProps

What is expected?

define props correctly

What is actually happening?

vite error with tips about missing xxx
2023-08-04_092136

System Info

No response

Any additional comments?

interface properties contains
one colon: nothing wrong.
two or more colons: vite error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    🔨 p3-minor-bugPriority 3: this fixes a bug, but is an edge case that only affects very specific usage.🐞 bugSomething isn't workinghas PRA pull request has already been submitted to solve the issuescope: compiler

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions