| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import type { PropType } from 'vue'
- export const unknownProp = null as unknown as PropType<unknown>
- export const numericProp = [Number, String]
- export const truthProp = {
- type: Boolean,
- default: true as const
- }
- export const makeRequiredProp = <T>(type: T) => ({
- type,
- required: true as const
- })
- export const makeArrayProp = <T>() => ({
- type: Array as PropType<T[]>,
- default: () => []
- })
- export const makeBooleanProp = <T>(defaultVal: T) => ({
- type: Boolean,
- default: defaultVal
- })
- export const makeNumberProp = <T>(defaultVal: T) => ({
- type: Number,
- default: defaultVal
- })
- export const makeNumericProp = <T>(defaultVal: T) => ({
- type: numericProp,
- default: defaultVal
- })
- export const makeStringProp = <T>(defaultVal: T) => ({
- type: String as unknown as PropType<T>,
- default: defaultVal
- })
- export const baseProps = {
- /**
- * 自定义根节点样式
- */
- customStyle: makeStringProp(''),
- /**
- * 自定义根节点样式类
- */
- customClass: makeStringProp('')
- }
|