import { Ref } from "vue"; import { InputInstance } from "element-plus"; import { IControlInputRbtType, IRbtComponentAbstract, IRbtQueryModelEmits, IRbtValue } from "@/common"; import { DsFormControlInterface } from "@/component/rbt-base/src/object/DsFormControlImpl.ts"; /** * @author shu_yw * @date 2023/12/22 * @package rbt-input-v2-service.ts * @copyright Copyright (c) my-worker */ /** * 组件类型 */ export type InputPropsType = 'text' | 'textarea' | 'password' | 'number'; /** * 尺寸大小 */ export type InputPropsSize = "" | "default" | "small" | "large"; /** * 控制是否能被用户缩放 */ export type InputPropsResize = "none" | "both" | "horizontal" | "vertical"; /** * textarea 高度是否自适应,仅 type 为 'textarea' 时生效。 可以接受一个对象,比如: { minRows: 2, maxRows: 6 } */ export type InputPropsAutosize = { minRows?: number; maxRows?: number; } | boolean; /** * 属性 */ export interface IInputProps extends DsFormControlInterface { /** * 输入框尺寸,只在 type 不为 'textarea' 时有效 */ size?: InputPropsSize; modelValue?: string; type?: InputPropsType; resize?: InputPropsResize; autosize?: InputPropsAutosize; clearable?: boolean; showPassword?: boolean; showWordLimit?: boolean; query?: boolean; placeholder?: string; maxlength?: number; minlength?: number; /** * 原生 max 属性,设置最大值 */ max?: number; /** * 原生属性,设置最小值 */ min?: number; /** * 原生属性,设置输入字段的合法数字间隔 */ step?: number; /** * 原生属性,自动获取焦点 */ autofocus?: boolean; /** * 自定义前缀图标 */ prefixIcon?: string; /** * 自定义后缀图标 */ suffixIcon?: string; /** * 单据类型 */ rbtType?: IControlInputRbtType; } /** * 事件 */ export interface IInputEmits extends IRbtQueryModelEmits { (event: "update:modelValue", value: string): void; } /** * 方法 */ export interface IFunction { blur(): void; clear(): void; resizeTextarea(): void; select(): void; } /** * 组件实现类 */ export declare class RbtInputV2Service extends IRbtComponentAbstract> implements IInputProps, IRbtValue, IFunction { private _autofocus; private _autosize; private _clearable; private _disabled; private _max?; private _maxlength?; private _min?; private _minlength?; private _modelValue; private _placeholder; private _prefixIcon; private _query; private _readonly; private _resize; private _showPassword; private _showWordLimit; private _size; private _step; private _suffixIcon; private _type; /** * 组件类型 * @private */ private _rbtType; /** * 是否查询条件 * @private */ private _queryCriteria; /** * 查询模式 * @private */ private _queryModel; /** * 名称 * @private */ private _rbtLabel; constructor(); constructor(props?: IInputProps); constructor(props?: IInputProps, emits?: IInputEmits); constructor(props?: IInputProps, emits?: IInputEmits, rbtRef?: Ref); /** * 使 input 失去焦点 */ blur(): void; /** * 清空 */ clear(): void; /** * 改变 textarea 大小 */ resizeTextarea(): void; /** * 选择 */ select(): void; getDisabled(): boolean; setDisabled(disabled: boolean): void; getValue(): string; setValue(value: string): void; getReadonly(): boolean; setReadonly(readonly: boolean): void; dsToObject(): void; /** * 获取当前值 */ get modelValue(): string; /** * 设置值 * @param value */ set modelValue(value: string); get autofocus(): boolean; set autofocus(value: boolean); get autosize(): InputPropsAutosize; set autosize(value: InputPropsAutosize); get clearable(): boolean; set clearable(value: boolean); get disabled(): boolean; set disabled(value: boolean); get max(): number | undefined; set max(value: number); get maxlength(): number | undefined; set maxlength(value: number); get min(): number | undefined; set min(value: number); get minlength(): number | undefined; set minlength(value: number); get placeholder(): string; set placeholder(value: string); get prefixIcon(): string; set prefixIcon(value: string); get query(): boolean; set query(value: boolean); get readonly(): boolean; set readonly(value: boolean); get resize(): InputPropsResize; set resize(value: InputPropsResize); get showPassword(): boolean; set showPassword(value: boolean); get showWordLimit(): boolean; /** * 设置显示输入字数 * @param value */ set showWordLimit(value: boolean); get size(): InputPropsSize; set size(value: InputPropsSize); get step(): number; set step(value: number); get suffixIcon(): string; set suffixIcon(value: string); get type(): InputPropsType; set type(value: InputPropsType); get props(): IInputProps; get emits(): IInputEmits; get rbtType(): IControlInputRbtType; set rbtType(value: IControlInputRbtType); get queryCriteria(): boolean; set queryCriteria(value: boolean); get queryModel(): string; set queryModel(value: string); get rbtLabel(): string; set rbtLabel(value: string); } /** * 导出类型 */ export type RbtInputV2ServiceInstance = InstanceType; //# sourceMappingURL=rbt-input-v2-service.d.ts.map