将滑块设置为初始位置 - React native

Jit*_*shW 3 slider react-native

我有一个应用程序,其中有一个共同的滑块显示2个不同的数据值.并且button它控制要显示的值(即使用Array1 Or Array2). Slider正在进行后向前进时正确显示所有值slider.

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

问题:Slider从一些随机位置开始.我希望滑块头到达初始位置.

下面是我的滑块代码,

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

有什么想法吗.

Art*_*tal 6

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

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

1)将滑块值保存在您的状态,并在按下按钮时重置它:

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

onButtonPress() {
  this.setState({value: 0});
}
Run Code Online (Sandbox Code Playgroud)

2)使用参数滑块重置值:

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

onButtonPress() {
  this.slider.setNativeProps({value: 0});
}
Run Code Online (Sandbox Code Playgroud)