nutui-uniapp
Version:
京东风格的轻量级移动端 Uniapp、Vue3 组件库(支持小程序开发)
25 lines (20 loc) • 988 B
text/typescript
import type { ExtractPropTypes, PropType } from 'vue'
import { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '../_constants'
import { commonProps, isBoolean, isNumber, isString } from '../_utils'
export const collapseProps = {
...commonProps,
/**
* @description 当前展开面板的 `name`
*/
modelValue: { type: [String, Number, Array] as PropType<string | number | (string | number)[]> },
/**
* @description 是否开启手风琴模式
*/
accordion: Boolean,
}
export type CollapseProps = ExtractPropTypes<typeof collapseProps>
export const collapseEmits = {
[CHANGE_EVENT]: (val: string | number | (string | number)[], name: string | number, status: boolean) => isString(val) || isNumber(val) || (val instanceof Object && isNumber(name)) || (isString(name) && isBoolean(status)),
[UPDATE_MODEL_EVENT]: (val: string | number | (string | number)[]) => isString(val) || isNumber(val) || (val instanceof Object),
}
export type CollapseEmits = typeof collapseEmits