2017-04-03 125 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

可能有動畫嗎? –