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

时间:2017-04-03 17:02:24

标签: react-native slider

我有一个应用程序,其中有一个共同的滑块来显示2个不同的数据值。并且button控制要显示的值(即使用Array1 Or Array2)。 Sliderslider中执行后退时,button正在显示所有值。

当我点击state时,我会更新RenderArray调用正确的Slider来加载。

问题: <Slider style={styleSliderView.slider} minimumValue={0} maximumValue={arr.length-1} step={1} onValueChange={(value)=>this._onValueChange(value)}/> 从一些随机位置开始。我希望滑块头到达初始位置。

下面是我的滑码,

[[item for item in sub if not any(char in item for char in '_+')] for sub in input]

任何想法。

1 个答案:

答案 0 :(得分:6)

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

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

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});
}