UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

93 lines (92 loc) 1.9 kB
import type { Option, SchemaExpression } from 'jamis-core'; import type { FormBaseControlSchema, FormControlProps } from '../types'; export type InputNumberRendererEvent = 'blur' | 'focus' | 'change'; export type InputNumberRendererAction = 'clear'; /** * 数字输入框 * */ export interface NumberControlSchema extends FormBaseControlSchema { type: 'input-number'; /** * 最大值 */ max?: number; maxExpr?: SchemaExpression; /** * 最小值 */ min?: number; minExpr?: SchemaExpression; /** * 步长 */ step?: number; /** * 精度 */ precision?: number; /** * 默认当然是 */ showSteps?: boolean; /** * 边框模式,全边框,还是半边框,或者没边框。 */ borderMode?: 'full' | 'half' | 'none'; /** * 前缀 */ prefix?: string; /** * 后缀 */ suffix?: string; /** * 单位列表 */ unitOptions?: string | Array<Option> | string[] | PlainObject; /** * 是否千分分隔 */ kilobitSeparator?: boolean; /** * 只读 */ readOnly?: boolean; /** * 是否启用键盘行为 */ keyboard?: boolean; } export interface NumberControlProps extends FormControlProps { placeholder?: string; max?: number | string; min?: number | string; step?: number; precision?: number; /** * 边框模式,全边框,还是半边框,或者没边框。 */ borderMode?: 'full' | 'half' | 'none'; /** * 前缀 */ prefix?: string; /** * 后缀 */ suffix?: string; /** * 是否千分分隔 */ kilobitSeparator?: boolean; /** * 只读 */ readOnly?: boolean; /** * 启用键盘行为,即通过上下方向键控制是否生效 */ keyboard?: boolean; }