@tplc/wot
Version:
231 lines (230 loc) • 5.04 kB
TypeScript
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>