我目前正在使用一个带有一些子视图组件的滚动视图。我也向滚动视图添加了一个响应者。当我开始在滚动视图内部拖动时,子视图组件必须更改颜色。
我正在尝试从panresponder onMove回调上的滚动视图获取View的索引,以便使用该视图的索引可以更改相应视图的颜色。如何在本机反应中做到这一点?
例如,请检查此链接以获取我要实现的目标。 http://pablofierro.github.io/react-drag-select
感谢您的帮助。 谢谢
到目前为止取得的进展: 我需要在响应者onMove回调上的手势视图索引
<ScrollView
{...this.state.isLongTapped === true ?
{...this._panResponder.panHandlers } : null}>
{dates.map(date => {
return (
<View key={date} style={styles.rowContainer}>
<View style={{ backgroundColor: 'transparent'}}>
{this.state.times.map((time, index) => {
containerStyle = object;
timeData = [];
let scheduleIndex = 0;
if (isCurrentBoard) {
let schedule = time.schedules;
if (schedule) {
scheduleIndex = this.getColumnIndexForDate(date.toString());
timeData.push(schedule[scheduleIndex])
}
}
return (
<GestureView
gestureCallBack={this.gestureSelectSchedule}>
</GestureView>
);
})}
</View>
</View>)
})}
</ScrollView>
gestureSelectSchedule = () => {
this._panResponder = PanResponder.create({
onStartShouldSetPanResponder: () => true,
onPanResponderGrant: (event,gestureState) => {
},
onMoveShouldSetPanResponderCapture: () => true,
onMoveShouldSetPanResponder: () => true,
onPanResponderMove: (event, gestureState) => {
},
onPanResponderEnd: (e, gestureState) => {
}
});
this.setState({ isLongTapped: true });
}