UNPKG

@tplc/wot

Version:

231 lines (230 loc) 5.04 kB
import type { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue' import type { FormItemRule } from '../wd-form/types' export declare const colPickerProps: { /** * 选中项 */ modelValue: { type: PropType<(string | number)[]> required: true } /** * 选择器数据,二维数组 */ columns: { type: PropType<Record<string, any>[][]> default: () => never[] } /** * 选择器左侧文案 */ label: StringConstructor /** * 设置左侧标题宽度 */ labelWidth: { type: PropType<string> default: string } /** * 使用 label 插槽时设置该选项 */ useLabelSlot: { type: BooleanConstructor default: boolean } /** * 使用默认插槽时设置该选项 */ useDefaultSlot: { type: BooleanConstructor default: boolean } /** * 禁用 */ disabled: { type: BooleanConstructor default: boolean } /** * 只读 */ readonly: { type: BooleanConstructor default: boolean } /** * 选择器占位符 */ placeholder: StringConstructor /** * 弹出层标题 */ title: StringConstructor /** * 接收当前列的选中项 item、当前列下标、当前列选中项下标下一列数据处理函数 resolve、结束选择 finish */ columnChange: PropType<ColPickerColumnChange> /** * 自定义展示文案的格式化函数,返回一个字符串 */ displayFormat: PropType<ColPickerDisplayFormat> /** * 确定前校验函数,接收 (value, resolve) 参数,通过 resolve 继续执行 picker,resolve 接收 1 boolean 参数 */ beforeConfirm: PropType<ColPickerBeforeConfirm> /** * 选择器的值靠右展示 */ alignRight: { type: BooleanConstructor default: boolean } /** * 是否为错误状态,错误状态时右侧内容为红色 */ error: { type: BooleanConstructor default: boolean } /** * 是否必填 */ required: { type: BooleanConstructor default: boolean } /** * 设置选择器大小,可选值:large */ size: StringConstructor /** * 选项对象中,value 对应的 key */ valueKey: { type: PropType<string> default: string } /** * 选项对象中,展示的文本对应的 key */ labelKey: { type: PropType<string> default: string } /** * 选项对象中,提示文案对应的 key */ tipKey: { type: PropType<string> default: string } /** * loading 图标的颜色 */ loadingColor: { type: PropType<string> default: string } /** * 点击遮罩是否关闭 */ closeOnClickModal: { type: BooleanConstructor default: boolean } /** * 自动触发 column-change 事件来补全数据,当 columns 为空数组或者 columns 数组长度小于 value 数组长度时,会自动触发 column-change */ autoComplete: { type: BooleanConstructor default: boolean } /** * 弹窗层级 */ zIndex: { type: NumberConstructor default: number } /** * 弹出面板是否设置底部安全距离(iphone X 类型的机型) */ safeAreaInsetBottom: { type: BooleanConstructor default: boolean } /** * 是否超出隐藏 */ ellipsis: { type: BooleanConstructor default: boolean } /** * 表单域 model 字段名,在使用表单校验功能的情况下,该属性是必填的 */ prop: StringConstructor /** * 表单验证规则,结合wd-form组件使用 */ rules: { type: PropType<FormItemRule[]> default: () => never[] } /** * 底部条宽度,单位像素 */ lineWidth: (NumberConstructor | StringConstructor)[] /** * 底部条高度,单位像素 */ lineHeight: (NumberConstructor | StringConstructor)[] /** * label 外部自定义样式 */ customViewClass: { type: PropType<string> default: string } /** * value 外部自定义样式 */ customLabelClass: { type: PropType<string> default: string } customValueClass: { type: PropType<string> default: string } customStyle: { type: PropType<string> default: string } customClass: { type: PropType<string> default: string } } export type ColPickerProps = ExtractPropTypes<typeof colPickerProps> export type ColPickerColumnChangeOption = { selectedItem: Record<string, any> index: number rowIndex: number resolve: (nextColumn: Record<string, any>[]) => void finish: (isOk?: boolean) => void } export type ColPickerColumnChange = (option: ColPickerColumnChangeOption) => void export type ColPickerDisplayFormat = (selectedItems: Record<string, any>[]) => string export type ColPickerBeforeConfirm = ( value: (string | number)[], selectedItems: Record<string, any>[], resolve: (isPass: boolean) => void, ) => void export type ColPickerExpose = { close: () => void open: () => void } export type ColPickerInstance = ComponentPublicInstance<ColPickerExpose, ColPickerProps>