vue-lynx / defineProps

Function: defineProps()

defineProps(props)

function defineProps<PropNames>(props): Prettify<Readonly<{ [key in PropNames]?: any }>>

Vue <script setup> compiler macro for declaring component props. The expected argument is the same as the component props option.

Example runtime declaration:

// using Array syntax
const props = defineProps(['foo', 'bar'])
// using Object syntax
const props = defineProps({
  foo: String,
  bar: {
    type: Number,
    required: true
  }
})

Equivalent type-based declaration:

// will be compiled into equivalent runtime declarations
const props = defineProps<{
  foo?: string
  bar: number
}>()

Type Parameters

Type ParameterDefault type
PropNames extends stringstring

Parameters

ParameterType
propsPropNames[]

Returns

Prettify<Readonly<{ [key in PropNames]?: any }>>

See

https://vuejs.org/api/sfc-script-setup.html#defineprops-defineemits

This is only usable inside <script setup>, is compiled away in the output and should not be actually called at runtime.

Defined in

node_modules/.pnpm/@vue+runtime-core@3.5.30/node_modules/@vue/runtime-core/dist/runtime-core.d.ts:191

defineProps(props)

function defineProps<PP>(props): Prettify<Readonly<ExtractPropTypes<PP>>>

Type Parameters

Type ParameterDefault type
PP extends ComponentObjectPropsOptions<Data>ComponentObjectPropsOptions<Data>

Parameters

ParameterType
propsPP

Returns

Prettify<Readonly<ExtractPropTypes<PP>>>

Defined in

node_modules/.pnpm/@vue+runtime-core@3.5.30/node_modules/@vue/runtime-core/dist/runtime-core.d.ts:194

defineProps()

function defineProps<TypeProps>(): DefineProps<LooseRequired<TypeProps>, BooleanKey<TypeProps>>

Type Parameters

Type Parameter
TypeProps

Returns

DefineProps<LooseRequired<TypeProps>, BooleanKey<TypeProps>>

Defined in

node_modules/.pnpm/@vue+runtime-core@3.5.30/node_modules/@vue/runtime-core/dist/runtime-core.d.ts:195