UNPKG

@aplus-frontend/ui

Version:

112 lines (111 loc) 2.56 kB
import { CSSProperties, VNode } from 'vue'; export type CheckCardValueType = string | number | boolean; /** * 可选卡片的通用配置,在Group中使用将会是整组CheckCard生效 */ type CheckCardCommonType = { /** * 是否显示边框 */ bordered?: boolean; /** * 是否禁用 */ disabled?: boolean; /** * 是否显示加载中样式 */ loading?: boolean; /** * 卡片的尺寸,目前内置中等/小尺寸两种 */ size?: 'middle' | 'small'; /** * 是否阻止点击事件冒泡(对于自定义内容包含输入控件时需要设置) */ stopPropagation?: boolean | ((event: MouseEvent) => boolean); /** * 选中指示器的尺寸 */ indicatorSize?: number; /** * 可选卡片容器样式 */ style?: CSSProperties; }; export type CheckCardProps = CheckCardCommonType & { /** * 当前选项卡是否选中(v-model) */ checked?: boolean; 'onUpdate:checked'?: (checked: boolean) => void; /** * 默认是否选中 */ defaultChecked?: boolean; /** * 作为选项时的值 */ value?: CheckCardValueType; /** * 容器自定义CSS样式 */ style?: CSSProperties; /** * 标题 */ title?: string | ((checked: boolean) => VNode); /** * 内容 */ content?: string | ((checked: boolean) => VNode); /** * 指定选中指示器的尺寸 */ indicatorSize?: number; }; export type CheckCardGroupValueType = CheckCardValueType | CheckCardValueType[] | undefined; export type CheckCardGroupProps = CheckCardCommonType & { /** * 是否多选 */ multiple?: boolean; /** * 选中的默认值 */ defaultValue?: CheckCardGroupValueType; /** * 选中的值(v-model) */ value?: CheckCardGroupValueType; 'onUpdate:value'?: (nextValue: CheckCardGroupValueType) => void; }; export type CheckCardGroupContextType = CheckCardCommonType & { /** * 是否是多选 */ multiple?: boolean; /** * 切换单个可选卡片时触发 * @param value * @returns */ toggleOption?: (value: any) => void; /** * 当前被选中的值 */ value?: any; /** * 注册一个CheckCard的value * @param value * @returns */ registerValue?: (value: any) => void; /** * 取消注册 * @param value * @returns */ cancelValue?: (value: any) => void; }; export {};