Skip to content

Function: useBaseHooks() ​

ts
function useBaseHooks<Props>(
  emit: (...args: any[]) => void,
  props: Props,
  attrs: Record<string, unknown>,
): {
  onClickAppendInner: (...args: any[]) => Promise<void>;
  onClickClear: (...args: any[]) => Promise<void>;
  onClickControl: (...args: any[]) => Promise<void>;
  onClickPrependInner: (...args: any[]) => Promise<void>;
  onMousedownControl: (...args: any[]) => Promise<void>;
  onUpdateFocused: (...args: any[]) => Promise<void>;
  onUpdateModelValue: (...args: any[]) => Promise<void>;
};

Composable that creates passthrough hooks for all BaseField events. Integrates with component props (onX handlers) and hook arrays (callOnX) to handle events.

Type Parameters ​

Type ParameterDescription
Props extends ResolvedBasePropsThe resolved base props type

Parameters ​

ParameterTypeDescription
emit(...args: any[]) => voidThe Vue component emit function
propsPropsThe component props
attrsRecord<string, unknown>The component attributes

Returns ​

ts
{
  onClickAppendInner: (...args: any[]) => Promise<void>;
  onClickClear: (...args: any[]) => Promise<void>;
  onClickControl: (...args: any[]) => Promise<void>;
  onClickPrependInner: (...args: any[]) => Promise<void>;
  onMousedownControl: (...args: any[]) => Promise<void>;
  onUpdateFocused: (...args: any[]) => Promise<void>;
  onUpdateModelValue: (...args: any[]) => Promise<void>;
}

An object with handlers for all BaseField events

NameType
onClickAppendInner()(...args: any[]) => Promise<void>
onClickClear()(...args: any[]) => Promise<void>
onClickControl()(...args: any[]) => Promise<void>
onClickPrependInner()(...args: any[]) => Promise<void>
onMousedownControl()(...args: any[]) => Promise<void>
onUpdateFocused()(...args: any[]) => Promise<void>
onUpdateModelValue()(...args: any[]) => Promise<void>

Example ​

typescript
const hooks = useBaseHooks(emit, props, attrs);
// Handlers: onClickClear, onClickAppendInner, onClickPrependInner,
//           onClickControl, onMousedownControl, onUpdateFocused, onUpdateModelValue