UNPKG

@ray-js/smart-ui

Version:

轻量、可靠的智能小程序 UI 组件库

168 lines (167 loc) 3.57 kB
/// <reference types="miniprogram-api-typings" /> import { SmartBaseExternalClassName, SmartComponent, SmartEventHandler } from '../base'; export interface SmartStepperProps { /** * 在表单内提交时的标识符 */ name?: string; /** * 输入值 * * @default 最小值 */ value?: string | number; /** * 最小值 * * @default 1 */ min?: string | number; /** * 最大值 */ max?: string | number; /** * 步长 * * @default 1 */ step?: string | number; /** * 是否只允许输入整数 * * @default false */ integer?: boolean; /** * 是否禁用 * * @default false */ disabled?: boolean; /** * 是否禁用输入框 * * @default false */ disableInput?: boolean; /** * 是否开启异步变更,开启后需要手动控制输入值 * * @default false */ asyncChange?: boolean; /** * 输入框宽度,默认单位为`px` * * @default '32px' */ inputWidth?: string | number; /** * 按钮大小,默认单位为 px,输入框高度会和按钮大小保持一致 * * @default '28px' */ buttonSize?: string | number; /** * 是否显示增加按钮 * * @default true */ showPlus?: boolean; /** * 是否显示减少按钮 * * @default true */ showMinus?: boolean; /** * 固定显示的小数位数 */ decimalLength?: number; /** * 样式风格 */ theme?: 'round'; /** * 是否禁用增加按钮 */ disablePlus?: boolean; /** * 是否禁用减少按钮 */ disableMinus?: boolean; /** * 是否开启长按手势 * * @default true */ longPress?: boolean; /** * 强制 `input` 处于同层状态,默认 `focus` 时 `input` 会切到非同层状态 (仅在 `iOS` 下生效) * * @default false */ alwaysEmbed?: boolean; } /** * @deprecated */ export interface SmartStepperChangeEvent extends WechatMiniprogram.BaseEvent { detail: number; } /** * @deprecated */ export interface SmartStepperOverLimitEvent extends WechatMiniprogram.BaseEvent { detail: 'plus' | 'minus'; } export interface SmartStepperFocusEventDetail { value: string; height: number; } export interface SmartStepperBlurEventDetail { value: number; cursor: number; } export interface SmartStepperEvents { /** * 当绑定值变化时触发的事件 */ onChange?: SmartEventHandler<number>; /** * 点击不可用的按钮时触发 */ onOverlimit?: SmartEventHandler<'plus' | 'minus'>; /** * 点击增加按钮时触发 */ onPlus?: SmartEventHandler; /** * 点击减少按钮时触发 */ onMinus?: SmartEventHandler; /** * 输入框聚焦时触发 */ onFocus?: SmartEventHandler<SmartStepperFocusEventDetail>; /** * 输入框失焦时触发 */ onBlur?: SmartEventHandler<SmartStepperBlurEventDetail>; } export interface SmartStepperExternalClassName extends SmartBaseExternalClassName { /** * 输入框样式类 */ inputClass?: string; /** * 加号按钮样式类 */ plusClass?: string; /** * 减号按钮样式类 */ minusClass?: string; } export type SmartStepper = SmartComponent<SmartStepperProps, SmartStepperEvents, SmartStepperExternalClassName>;