ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
71 lines (70 loc) • 1.74 kB
TypeScript
import { Component } from 'react';
interface RangerProps {
/** 值改变的回调 */
onChange: (value: any) => void;
/** 默认值 */
defaultValue?: number;
/** 范围 */
value?: number;
/** 基础的单位 */
basicUnit?: number;
/** 是否禁用 */
disabled?: boolean;
/** 是否百分比显示 */
precent?: boolean;
/** 是否带有输入框 */
withInput?: boolean;
/** 范围 */
range?: number[];
}
interface State {
draping: boolean;
stateValue: any;
}
/**
* 拖动的选择控件
*
* @export
* @class Ranger
* @extends {Component}
*/
export default class Ranger extends Component<RangerProps, State> {
static defaultProps: {
basicUnit: number;
disabled: boolean;
precent: boolean;
withInput: boolean;
range: number[];
};
rangerContainer: any;
isControl: any;
isRevert: any;
max: any;
min: any;
originalOffsetPercent: any;
offsetPercent: any;
value: any;
drapElemInfo: any;
handle: any;
rangerBodyWidth: any;
preUnitPixel: any;
dragOriginX: any;
handleWidth: number;
constructor(props: any);
shouldUpdateComponent(nextState: any, nextProps: any): boolean;
componentDidMount(): void;
initData(): void;
handleMouseDown(e: any): void;
movingHandle: (e: any) => void;
dragEnd: () => void;
mouseMoving(): void;
mouseMoved(): void;
percentToVal(percent: any): number | null;
valToPercent(val: any): number | null;
setEndPosition(offsetPercent: any): void;
changeValue(_val: any, emitChangeEvent?: boolean): void;
plusAndLess(mark: any): void;
valueFilter(): any;
render(): JSX.Element;
}
export {};