2017-04-03 181 views
1

我有一个应用程序,其中有一个通用滑块来显示2个不同的数据值。和一个button,它控制要显示的值(即使用Array1 Or Array2)。 Sliderslider中正反向显示所有值时正确显示。将滑块设置为初始位置 - 反应原生

当我点击button时,我更新了state,Render被正确调用Array加载。

期:Slider从某个随机位置开始。我想让滑块头进入初始位置。

下面是我的滑码,

<Slider style={styleSliderView.slider} 
       minimumValue={0} 
       maximumValue={arr.length-1} 
       step={1} 
       onValueChange={(value)=>this._onValueChange(value)}/> 

任何想法。

回答

2

这可能不只是一个随机的位置。这是新的最小/最大范围的新位置。你需要做的是以某种方式重置滑块。

您可以尝试2级可能的解决方案:

1)保存滑块值在您的状态和重置当按下按钮:

<Slider 
    value={this.state.value} 
    onValueChange={(value) => this.setState({value})} 
/> 

onButtonPress() { 
    this.setState({value: 0}); 
} 

2)使用裁判的重置价值滑块:

<Slider 
    ref={r => this.slider = r} 
/> 

onButtonPress() { 
    this.slider.setNativeProps({value: 0}); 
} 
+0

可能有动画吗? –