@daysnap/horn-ui
Version:
hron ui
32 lines (28 loc) • 1.21 kB
text/typescript
import type { ExtractPropTypes } from 'vue'
import { horCellProps } from '../hor-cell'
import { omit } from '@daysnap/utils'
import { makeBooleanProp, makeStringProp, makeNumericProp, makeArrayProp } from '../utils'
import type { UploaderFileListItem } from 'vant'
export const omitHorCellPropsInUploader = omit(horCellProps, ['value'])
export type HorUploaderFileListItem = UploaderFileListItem & { fIndex: string; filePath?: string }
export const horUploaderProps = {
...omitHorCellPropsInUploader,
modelValue: makeArrayProp<HorUploaderFileListItem>([]),
name: makeNumericProp(''),
disabled: makeBooleanProp(false),
multiple: makeBooleanProp(false),
maxCount: makeNumericProp(Infinity),
maxSize: makeNumericProp(Infinity),
accept: makeStringProp('image/*'),
uploadIcon: makeStringProp('photograph'),
deletable: makeBooleanProp(true),
reupload: makeBooleanProp(false), // 是否开启覆盖上传,开启后会关闭图片预览
capture: makeStringProp(''), // 图片选取模式,可选值为 camera (直接调起摄像头)
beforeRead: {
type: Function,
},
upload: {
type: Function,
},
}
export type HorUploaderProps = ExtractPropTypes<typeof horUploaderProps>