diff --git a/lib/AutoDragSortableView.js b/lib/AutoDragSortableView.js index 6e146d3..7237ab8 100644 --- a/lib/AutoDragSortableView.js +++ b/lib/AutoDragSortableView.js @@ -1,5 +1,5 @@ import React, {Component} from 'react' -import {Animated, Dimensions, Easing, PanResponder, StyleSheet, TouchableOpacity, View, ScrollView,Platform} from 'react-native' +import {Animated, Dimensions, Easing, PanResponder, StyleSheet, RefreshControl, TouchableOpacity, View, ScrollView,Platform} from 'react-native' const PropTypes = require('prop-types') const {width,height} = Dimensions.get('window') @@ -42,6 +42,7 @@ export default class AutoDragSortableView extends Component{ height: Math.ceil(dataSource.length / rowNum) * itemHeight, itemWidth, itemHeight, + scrollEnabled: true, }; this._panResponder = PanResponder.create({ @@ -57,6 +58,7 @@ export default class AutoDragSortableView extends Component{ onPanResponderMove: (evt, gestureState) => this.moveTouch(evt, gestureState), onPanResponderRelease: (evt, gestureState) => this.endTouch(evt), + onPanResponderTerminate: (evt) => this.endTouch(evt), onPanResponderTerminationRequest: (evt, gestureState) => false, onShouldBlockNativeResponder: (evt, gestureState) => false, }) @@ -106,6 +108,7 @@ export default class AutoDragSortableView extends Component{ componentDidMount() { this.initTag() this.autoMeasureHeight() + this.isHasMeasure = true; } componentDidUpdate() { @@ -589,7 +592,10 @@ export default class AutoDragSortableView extends Component{ render() { return ( + )} scrollEventThrottle={1} scrollIndicatorInsets={this.props.scrollIndicatorInsets} ref={(scrollRef)=> { @@ -682,6 +688,9 @@ AutoDragSortableView.propTypes = { sortable: PropTypes.bool, + refreshing: PropTypes. bool, + onRefresh: PropTypes.func, + onClickItem: PropTypes.func, onDragStart: PropTypes.func, onDragEnd: PropTypes.func, diff --git a/lib/index.d.ts b/lib/index.d.ts index f270f76..f067e06 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -14,6 +14,9 @@ interface IProps{ sortable?: boolean; + refreshing?: boolean; + onRefresh?: (() => void) | null; + onClickItem?: (data: any[],item: any,index: number) => void; onDragStart?: (fromIndex: number) => void; onDragEnd?: (fromIndex: number,toIndex: number) => void;