UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

85 lines (84 loc) 2.32 kB
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 {};