UNPKG

wot-design-uni

Version:

一个基于Vue3+TS开发的uni-app组件库,提供70+高质量组件,支持暗黑模式、国际化和自定义主题。

60 lines (54 loc) 1.45 kB
import { type ExtractPropTypes, type InjectionKey, type PropType } from 'vue' import type { CheckShape } from '../wd-checkbox/types' import { baseProps, makeBooleanProp, makeNumberProp, makeStringProp } from '../common/props' export type RequiredModelValue = { modelValue: Array<string | number | boolean> } export type checkboxGroupProvide = { props: Partial<Omit<CheckboxGroupProps, 'modelValue'>> & RequiredModelValue changeSelectState: (value: string | number | boolean) => void } export const CHECKBOX_GROUP_KEY: InjectionKey<checkboxGroupProvide> = Symbol('wd-checkbox-group') export const checkboxGroupProps = { ...baseProps, /** * 绑定值 */ modelValue: { type: Array as PropType<Array<string | number | boolean>>, default: () => [] }, /** * 表单模式 */ cell: makeBooleanProp(false), /** * 单选框形状,可选值:circle / square / button */ shape: makeStringProp<CheckShape>('circle'), /** * 选中的颜色 */ checkedColor: String, /** * 禁用 */ disabled: makeBooleanProp(false), /** * 最小选中的数量 */ min: makeNumberProp(0), /** * 最大选中的数量,0 为无限数量,默认为 0 */ max: makeNumberProp(0), /** * 同行展示 */ inline: makeBooleanProp(false), /** * 设置大小,可选值:large */ size: String } export type CheckboxGroupProps = ExtractPropTypes<typeof checkboxGroupProps>