callstack / react-native-slider

React Native component exposing Slider from iOS and SeekBar from Android
MIT License
1.22k stars 270 forks source link

Render custom component above thumb #605

Open bryanltobing opened 5 months ago

bryanltobing commented 5 months ago

Ask your Question

i have requirement to render custom component with dynamic value above the thumb like this

image

I took a look at the code and there is no way for now to render custom component/element above the thumb.

maybe we can do something like this?

export const SliderTrackMark = ({
  isTrue,
  thumbImage,
  StepMarker,
+ index
+ renderAboveThumbComponent
}: TrackMarksProps) => {
  return (
    <View style={styles.trackMarkContainer}>
      {StepMarker ? <StepMarker stepMarked={isTrue} /> : null}
      {thumbImage && isTrue ? (
        <>
+           {renderAboveThumbComponent(index)}
            <View style={styles.thumbImageContainer}>
              <Image source={thumbImage} style={styles.thumbImage} />
            </View>
        </>
      ) : null}
    </View>
  );
};

API name inspired by https://github.com/miblanchard/react-native-slider/blob/cb80d87c7f80f27856613e18459c80c70d638df7/README.md?plain=1#L88

maybe one consideration, from windows example there is already a box with step value rendered above the thumb. image

is it gonna be a conflict if we implement this? or is there a better way to handle this case?