UNPKG

nutui-uniapp

Version:

京东风格的轻量级移动端 Uniapp、Vue3 组件库(支持小程序开发)

79 lines (74 loc) 1.93 kB
import type { ExtractPropTypes } from 'vue' import { UPDATE_MODEL_EVENT } from '../_constants' import { commonProps, isNumber, isString, makeArrayProp, makeNumberProp, makeNumericProp, makeStringProp, truthProp, } from '../_utils' import type { EcardChangeEvent, EcardDataItem, EcardDataValue } from './type' export const ecardProps = { ...commonProps, /** * @description 购买电子卡所需价钱 */ modelValue: makeNumericProp(0), /** * @description 电子卡面值列表 */ list: makeArrayProp<EcardDataItem>([]), /** * @description 选择面值文案 */ chooseText: makeStringProp(''), /** * @description 是否显示其他面值 */ showOther: truthProp, /** * @description 其他面值文案 */ otherValueText: makeStringProp(''), /** * @description 其他面值默认提示语 */ placeholder: makeStringProp(''), /** * @description 符号标示 */ suffix: makeStringProp('¥'), /** * @description 其它面值最小值 */ cardAmountMin: makeNumericProp(1), /** * @description 其他面值最大值 */ cardAmountMax: makeNumericProp(9999), /** * @description 是否显示步进 */ showStep: truthProp, /** * @description 购买数量最小值 */ cardBuyMin: makeNumberProp(1), /** * @description 购买数量最大值 */ cardBuyMax: makeNumberProp(9999), } export type ECardProps = ExtractPropTypes<typeof ecardProps> export const ecardEmits = { [UPDATE_MODEL_EVENT]: (val: EcardDataValue) => isNumber(val) || isString(val), update: (val: EcardDataValue) => isNumber(val) || isString(val), change: (evt: EcardChangeEvent) => evt instanceof Object, inputChange: (val: string) => isString(val), changeStep: (val1: number, val2: EcardDataValue) => isNumber(val1) && (isNumber(val2) || isString(val2)), inputClick: () => true, } export type ECardEmits = typeof ecardEmits