UNPKG

@tplc/wot

Version:

161 lines (160 loc) 3.17 kB
import type { ExtractPropTypes, PropType } from 'vue' /** * 输入框值变化前的回调函数类型定义 * @param value 输入框的新值 * @returns 返回布尔值或Promise<boolean>,用于控制是否允许值的变化 */ export type InputNumberBeforeChange = (value: number | string) => boolean | Promise<boolean> export type OperationType = 'add' | 'sub' export declare const inputNumberProps: { /** * 绑定值 */ modelValue: { type: (NumberConstructor | StringConstructor)[] required: true } /** * 最小值 */ min: { type: NumberConstructor default: number } /** * 最大值 */ max: { type: NumberConstructor default: number } /** * 步进值 */ step: { type: NumberConstructor default: number } /** * 是否严格按照步进值递增或递减 */ stepStrictly: { type: BooleanConstructor default: boolean } /** * 数值精度 */ precision: { type: (NumberConstructor | StringConstructor)[] default: number } /** * 是否禁用 */ disabled: { type: BooleanConstructor default: boolean } /** * 是否禁用输入框 */ disableInput: { type: BooleanConstructor default: boolean } /** * 是否禁用减号按钮 */ disableMinus: { type: BooleanConstructor default: boolean } /** * 是否禁用加号按钮 */ disablePlus: { type: BooleanConstructor default: boolean } /** * 是否不显示输入框 */ withoutInput: { type: BooleanConstructor default: boolean } /** * 输入框宽度 */ inputWidth: { type: (NumberConstructor | StringConstructor)[] default: number } /** * 是否允许为空 */ allowNull: { type: BooleanConstructor default: boolean } /** * 输入框占位符 */ placeholder: { type: PropType<string> default: string } /** * 原生属性,键盘弹起时,是否自动上推页面 */ adjustPosition: { type: BooleanConstructor default: boolean } /** * 输入值变化前的回调函数,返回 `false` 可阻止输入,支持返回 `Promise` */ beforeChange: PropType<InputNumberBeforeChange> /** * 是否开启长按加减手势 */ longPress: { type: BooleanConstructor default: boolean } /** * 是否立即响应输入变化,false 时仅在失焦和按钮点击时更新 */ immediateChange: { type: BooleanConstructor default: boolean } /** * 是否在初始化时更新 v-model 为修正后的值 * true: 自动修正并更新 v-model * false: 保持原始值不修正,但仍会进行显示格式化 */ updateOnInit: { type: BooleanConstructor default: boolean } /** * 输入框类型 * number: 数字输入 * digit: 整数输入 */ inputType: { type: PropType<'number' | 'digit'> default: 'number' | 'digit' } customStyle: { type: PropType<string> default: string } customClass: { type: PropType<string> default: string } } export type InputNumberProps = ExtractPropTypes<typeof inputNumberProps>