A component used to select a single value from a range of values.

Props

View props...

disabled bool

If true the user won't be able to move the slider. Default value is false.

maximumValue number

Initial maximum value of the slider. Default value is 1.

minimumValue number

Initial minimum value of the slider. Default value is 0.

onSlidingComplete function

Callback called when the user finishes changing the value (e.g. when the slider is released).

onValueChange function

Callback continuously called while the user is dragging the slider.

step number

Step value of the slider. The value should be between 0 and (maximumValue - minimumValue). Default value is 0.

style View#style

Used to style and layout the Slider. See StyleSheet.js and ViewStylePropTypes.js for more info.

testID string

Used to locate this view in UI automation tests.

value number

Initial value of the slider. The value should be between minimumValue and maximumValue, which default to 0 and 1 respectively. Default value is 0.

This is not a controlled component, you don't need to update the value during dragging.

iosmaximumTrackImage Image.propTypes.source

Assigns a maximum track image. Only static images are supported. The leftmost pixel of the image will be stretched to fill the track.

iosmaximumTrackTintColor string

The color used for the track to the right of the button. Overrides the default blue gradient image.

iosminimumTrackImage Image.propTypes.source

Assigns a minimum track image. Only static images are supported. The rightmost pixel of the image will be stretched to fill the track.

iosminimumTrackTintColor string

The color used for the track to the left of the button. Overrides the default blue gradient image.

iosthumbImage Image.propTypes.source

Sets an image for the thumb. Only static images are supported.

iostrackImage Image.propTypes.source

Assigns a single image for the track. Only static images are supported. The center pixel of the image will be stretched to fill the track.

Examples

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
'use strict';
 
var React = require('react');
var ReactNative = require('react-native');
var {
  Slider,
  Text,
  StyleSheet,
  View,
} = ReactNative;
 
var SliderExample = React.createClass({
  getDefaultProps() {
    return {
      value: 0,
    }
  },
 
  getInitialState() {
    return {
      value: this.props.value,
    };
  },
 
  render() {
    return (
      <View>
        <Text style={styles.text} >
          {this.state.value && +this.state.value.toFixed(3)}
        </Text>
        <Slider
          {...this.props}
          onValueChange={(value) => this.setState({value: value})} />
      </View>
    );
  }
});
 
var SlidingCompleteExample = React.createClass({
  getInitialState() {
    return {
      slideCompletionValue: 0,
      slideCompletionCount: 0,
    };
  },
 
  render() {
    return (
      <View>
        <SliderExample
          {...this.props}
          onSlidingComplete={(value) => this.setState({
              slideCompletionValue: value,
              slideCompletionCount: this.state.slideCompletionCount + 1})} />
        <Text>
          Completions: {this.state.slideCompletionCount} Value: {this.state.slideCompletionValue}
        </Text>
      </View>
    );
  }
});
 
var styles = StyleSheet.create({
  slider: {
    height: 10,
    margin: 10,
  },
  text: {
    fontSize: 14,
    textAlign: 'center',
    fontWeight: '500',
    margin: 10,
  },
});
 
exports.title = '<Slider>';
exports.displayName = 'SliderExample';
exports.description = 'Slider input for numeric values';
exports.examples = [
  {
    title: 'Default settings',
    render(): ReactElement<any> {
      return <SliderExample />;
    }
  },
  {
    title: 'Initial value: 0.5',
    render(): ReactElement<any> {
      return <SliderExample value={0.5} />;
    }
  },
  {
    title: 'minimumValue: -1, maximumValue: 2',
    render(): ReactElement<any> {
      return (
        <SliderExample
          minimumValue={-1}
          maximumValue={2}
        />
      );
    }
  },
  {
    title: 'step: 0.25',
    render(): ReactElement<any> {
      return <SliderExample step={0.25} />;
    }
  },
  {
    title: 'onSlidingComplete',
    render(): ReactElement<any> {
      return (
        <SlidingCompleteExample />
      );
    }
  },
  {
    title: 'Custom min/max track tint color',
    platform: 'ios',
    render(): ReactElement<any> {
      return (
        <SliderExample
          minimumTrackTintColor={'red'}
          maximumTrackTintColor={'green'}
        />
      );
    }
  },
  {
    title: 'Custom thumb image',
    platform: 'ios',
    render(): ReactElement<any> {
      return <SliderExample thumbImage={require('./uie_thumb_big.png')} />;
    }
  },
  {
    title: 'Custom track image',
    platform: 'ios',
    render(): ReactElement<any> {
      return <SliderExample trackImage={require('./slider.png')} />;
    }
  },
  {
    title: 'Custom min/max track image',
    platform: 'ios',
    render(): ReactElement<any> {
      return (
        <SliderExample
          minimumTrackImage={require('./slider-left.png')}
          maximumTrackImage={require('./slider-right.png')}
        />
      );
    }
  },
];
Slider#disabled
  • References/JavaScript/React Native/Components: Slider

disabled bool If true the user won't be able to move the slider. Default value is false.

2025-01-10 15:47:30
Slider#step
  • References/JavaScript/React Native/Components: Slider

step number Step value of the slider. The value should be between 0 and (maximumValue - minimumValue). Default

2025-01-10 15:47:30
Slider#value
  • References/JavaScript/React Native/Components: Slider

value number Initial value of the slider. The value should be between minimumValue and maximumValue, which

2025-01-10 15:47:30
Slider#minimumValue
  • References/JavaScript/React Native/Components: Slider

minimumValue number Initial minimum value of the slider. Default value is 0.

2025-01-10 15:47:30
Slider#maximumTrackImage
  • References/JavaScript/React Native/Components: Slider

iosmaximumTrackImage Image.propTypes.source Assigns a maximum track image

2025-01-10 15:47:30
Slider#onSlidingComplete
  • References/JavaScript/React Native/Components: Slider

onSlidingComplete function Callback called when the user finishes changing the value (e.g. when the slider

2025-01-10 15:47:30
Slider#trackImage
  • References/JavaScript/React Native/Components: Slider

iostrackImage Image.propTypes.source Assigns a single image for the track

2025-01-10 15:47:30
Slider#testID
  • References/JavaScript/React Native/Components: Slider

testID string Used to locate this view in UI automation tests.

2025-01-10 15:47:30
Slider#maximumValue
  • References/JavaScript/React Native/Components: Slider

maximumValue number Initial maximum value of the slider. Default value is 1.

2025-01-10 15:47:30
Slider#minimumTrackImage
  • References/JavaScript/React Native/Components: Slider

iosminimumTrackImage Image.propTypes.source Assigns a minimum track image

2025-01-10 15:47:30