jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
53 lines (52 loc) • 1.31 kB
TypeScript
import React from 'react';
import type { HandleItemProps } from './types';
interface HandleItemState {
isDrag: boolean;
labelActive: boolean;
}
/**
* 滑块值 -> position.left
* @param value 滑块值
* @param min 最小值
* @param max 最大值
* @returns position.left
*/
export declare const valueToOffsetLeft: (value: any, min: number, max: number) => string;
/**
* 滑块handle
* 双滑块涉及两个handle,单独抽一个组件
*/
export declare class RangeHandleItem extends React.Component<HandleItemProps, HandleItemState> {
handleRef: React.RefObject<HTMLDivElement>;
constructor(props: HandleItemProps);
/**
* mouseDown事件
* 防止拖动过快,全局监听 mousemove、mouseup
*/
onMouseDown(): void;
/**
* mouseMove事件
* 触发公共onchange事件
*/
onMouseMove(e: MouseEvent): void;
/**
* mouseUp事件
* 移除全局 mousemove、mouseup
*/
onMouseUp(): void;
/**
* mouseEnter事件
* 鼠标移入 -> 展示label
*/
onMouseEnter(): void;
/**
* mouseLeave事件
* 鼠标移出 & !isDrag -> 隐藏label
*/
onMouseLeave(): void;
onTouchStart(): void;
onTouchMove(e: any): void;
onTouchEnd(): void;
render(): JSX.Element;
}
export {};