jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
85 lines (84 loc) • 2.32 kB
TypeScript
import React from 'react';
import type { ActionObject } from 'jamis-core';
import type { InputRangeValue, RangeFormatValue, RangeItemProps, RangeProps } from './types';
interface RangeState {
value: RangeFormatValue;
}
/**
* 格式化初始value值
* @param value 初始value值 Value
* @param props RangeProps
* @returns number | {min: number, max: number}
*/
export declare function formatValue(value: InputRangeValue, props: {
multiple: boolean;
delimiter: string;
min: number;
max: number;
}): RangeFormatValue;
/**
* 输入框
*/
export declare class InputRangeWrap extends React.Component<RangeItemProps, any> {
/**
* onChange事件,只能输入数字
* @param e React.ChangeEvent
*/
onChange(value: number): void;
/**
* 双滑块 更新value
* @param value 输入的value值
*/
onUpdateValue(value: number): void;
checkNum(value: number | string | undefined): number | undefined;
/**
* 获取步长小数精度
* @returns
*/
getStepPrecision(): number;
/**
* 处理数据
* @param value input数据
* @param type min | max 双滑块
* @returns 处理之后数据
*/
getValue(value: string | number, type?: string): number;
/**
* 失焦事件
*/
onBlur(): void;
/**
* 聚焦事件
*/
onFocus(): Promise<void>;
render(): JSX.Element;
}
export default class RangeControl extends React.PureComponent<RangeProps, RangeState> {
midLabel?: HTMLSpanElement;
static defaultProps: Partial<RangeProps>;
constructor(props: RangeProps);
componentDidUpdate(prevProps: RangeProps): void;
doAction(action: ActionObject, data: object, throwErrors: boolean): void;
clearValue(type?: string): void;
getValue(value: RangeFormatValue): number | {
max: number;
min: number;
};
/**
* 所有触发value变换 -> updateValue
* @param value
*/
updateValue(value: RangeFormatValue): Promise<void>;
/**
* 鼠标松开事件
*/
onAfterChange(): void;
/**
* 获取导出格式数据
*/
getFormatValue(value: RangeFormatValue): string | RangeFormatValue;
render(): JSX.Element;
}
export declare class RangeControlRenderer extends RangeControl {
}
export {};