/** * @license * Copyright 厦门乾元盛世科技有限公司 All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file. */ import { EventEmitter, ElementRef, Renderer } from '@angular/core'; import { FormControl } from '../input/form.control'; export declare class InputNumber extends FormControl { private renderer; private elementRef; private compositionMode; /** 样式前缀 */ prefixCls: string; /** 用户CSS样式 */ class: string; /** 控件大小。注:标准表单内的输入框大小限制为 `large`。可选 `large` `default` `small`。 */ size: 'large' | 'default' | 'small'; /** 选择框默认文字 */ placeholder: string; /** 是否只读状态,默认为 false */ readOnly: boolean; /** * max 属性规定输入字段所允许的最大值。
* 注释:max 和 min 属性适用于以下 类型:number, range, date, datetime, datetime-local, month, time 以及 week。 */ max: number; /** * min 属性规定输入字段所允许的最小值。
* 注释:max 和 min 属性适用于以下 类型:number, range, date, datetime, datetime-local, month, time 以及 week。 */ min: number; /** 每次改变步数,可以为小数。默认为1。 */ stepValue: number; /** 数值精度 */ precision: number; /** * 指定输入框展示值的格式。入参为(value: number),返回值为string。 */ formatter: (value: number) => string; /** 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用 */ parser: (formated: string) => number; /** 自动聚焦 */ autoFocus: boolean; /** 值变更事件 */ change: EventEmitter; /** 实际输入框 */ input: ElementRef; /** * 默认情况下,输入框的focus、blur事件是不传播的,因此当我们控制内部的输入框后,需要发射自己的focus、blur事件 * * @output {event} Expression to call when the input no longer has focus */ blur: EventEmitter; /** * 默认情况下,输入框的focus、blur事件是不传播的,因此当我们控制内部的输入框后,需要发射自己的focus、blur事件 * * @output {event} Expression to call when the input has focus */ focus: EventEmitter; private actualValue; /** 是否已聚焦 */ focused: boolean; private autoStepTimer; constructor(renderer: Renderer, elementRef: ElementRef, compositionMode: boolean); /** * The underlying host native element */ getHostElement(): HTMLElement; /** * 样式 */ readonly classes: string; /** * The value of the input ngModel * * @internal (model -> view2) */ /** * 内部输入框的内容,用于绑定内部的 ngModel 值 */ innerValue: any; /** 对用户输入的值进行预处理,如文本转数字等 */ processValue(value: any): number; /** * Write a new value to the element. * * @Override (From ControlValueAccessor interface) */ writeValue(value: any): void; /** * @private */ onBlur(event: UIEvent): void; onFocus(event: Event): void; /** focus on the input */ doFocus(): void; onKeyDown(event: KeyboardEvent): void; onKeyUp(event: KeyboardEvent): void; onUpHandlerPress(event: Event): void; onDownHandlerPress(event: Event): void; /** 禁止内部input控件的change事件传播 */ onInputChange(event: Event): void; /** * 若按下『SHIFT』键则10倍速率,若按下『CTRL』或『META』键,则0.1倍速率,否则速率不变 * * @param e 键盘事件 */ getRatio(e: KeyboardEvent): number; formatNumber(num: number): string; /** 向上增加的按钮是否不可用 */ isUpHandlerDisabled(): boolean; /** 向下增加的按钮是否不可用 */ isDownHandlerDisabled(): boolean; preventDefaultEvent(event: Event): void; stop(event?: Event): void; down(e: Event, ratio?: number, recursive?: boolean): void; up(e: Event, ratio?: number, recursive?: boolean): void; step(type: string, e: Event, ratio?: number): void; getPrecision(value: any): number; getMaxPrecision(): number; }