UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

41 lines (40 loc) 1.29 kB
import type { ReactNode } from 'react'; import React from 'react'; import { StyleProp, ViewStyle } from 'react-native'; import { SliderStyle } from './style'; export type SliderMarks = { [key: number]: React.ReactNode; }; export type SliderValueType = number | [number, number]; export interface SliderRef { onSlide: (changeX: number) => void; } export type BaseSliderProps<SliderValue> = { min?: number; max?: number; value?: SliderValue; defaultValue?: SliderValue; step?: number; marks?: SliderMarks; ticks?: boolean; disabled?: boolean; disabledStep?: boolean; icon?: ReactNode; popover?: boolean | ((value: number) => ReactNode); residentPopover?: boolean; tapToSeek?: boolean; onChange?: (value: SliderValue) => void; onAfterChange?: (value: SliderValue, index: number) => void; onSlidingStart?: (value: SliderValue, index: number) => void; onSlidingComplete?: (value: SliderValue, index: number) => void; style?: StyleProp<ViewStyle>; styles?: Partial<SliderStyle>; }; type NumberSliderProps = BaseSliderProps<number> & { range?: false; }; type RangeSliderProps = BaseSliderProps<[number, number]> & { range: true; }; export type SliderProps = NumberSliderProps | RangeSliderProps; export {};