Function: propsFactory()
ts
function propsFactory<PropsOptions>(
props: PropsOptions,
source: string,
): <Defaults>(defaults?: Defaults) => AppendDefault<PropsOptions, Defaults>;Creates a factory function for props definitions. This is used to define props in a composable then override default values in an implementing component.
Type Parameters
| Type Parameter |
|---|
PropsOptions extends ComponentObjectPropsOptions<Data> |
Parameters
| Parameter | Type |
|---|---|
props | PropsOptions |
source | string |
Returns
ts
<Defaults>(defaults?: Defaults): AppendDefault<PropsOptions, Defaults>;Type Parameters
| Type Parameter | Default type |
|---|---|
Defaults extends PartialKeys<PropsOptions> | { } |
Parameters
| Parameter | Type |
|---|---|
defaults? | Defaults |
Returns
AppendDefault<PropsOptions, Defaults>
Examples
ts
Simplified signature
(props: Props) => (defaults?: Record<keyof props, any>) => Propsts
Usage
const makeProps = propsFactory({
foo: String,
})
defineComponent({
props: {
...makeProps({
foo: 'a',
}),
},
setup (props) {
// would be "string | undefined", now "string" because a default has been provided
props.foo
},
}