2017-04-03 13 views
1

2つの異なるデータ値を表示する共通のスライダーがあるアプリがあります。表示する値を制御するbutton(つまり、Array1 Or Array2を使用する)。 Sliderは、sliderにback-n-forthを実行している間、すべての値を正しく表示しています。スライダーを初期位置に設定する - ネイティブに反応する

私がbuttonをクリックすると、stateが更新されます。Renderが呼び出され、正しいArrayからロードされます。

問題:Sliderはランダムな位置から始まります。私はスライダーの頭を最初の位置にしたい。

以下は、

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

任意の考え私のスライダーコードです。

答えて

2

これは単なるランダムな位置ではありません。新しい最小/最大範囲の新しいポジションです。あなたがする必要があるのは何とかスライダをリセットすることです。への参照を使用して値をリセット)

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

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

2:あなたの状態でスライダー値を保存し、ボタンが押されたときにそれをリセット)

1:

あなたは2つの可能な解決策を試すことができますスライダー:

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

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

ここにアニメーションはありますか? –

関連する問題